AbandonQuest = {
  ["arguments"] = {
  },
  ["name"] = "AbandonQuest",
  ["signature"] = "AbandonQuest()",
  ["returns"] = {
  },
  ["desc"] = "Confirms abandoning a quest in your log",
}
AbandonSkill = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill to abandon",
    },
  },
  ["name"] = "AbandonSkill",
  ["signature"] = "AbandonSkill(index)",
  ["returns"] = {
  },
  ["desc"] = "Confirms abandoning a skill",
}
AcceptAreaSpiritHeal = {
  ["arguments"] = {
  },
  ["name"] = "AcceptAreaSpiritHeal",
  ["signature"] = "AcceptAreaSpiritHeal()",
  ["returns"] = {
  },
  ["desc"] = "Notifies the server that you are ready to accept the periodic area resurrection from a battleground spirit healer",
}
AcceptArenaTeam = {
  ["arguments"] = {
  },
  ["name"] = "AcceptArenaTeam",
  ["signature"] = "AcceptArenaTeam()",
  ["returns"] = {
  },
  ["desc"] = "Accept an invitation to join an arena team",
}
AcceptBattlefieldPort = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a battleground the player is currently queued for",
    },
    {
      ["type"] = "1nil",
      ["name"] = "accept",
      ["desc"] = "1 to accept the offered port, nil to leave the queue for the given battleground",
    },
  },
  ["name"] = "AcceptBattlefieldPort",
  ["signature"] = "AcceptBattlefieldPort(index, accept)",
  ["returns"] = {
  },
  ["desc"] = "Accepts the offered teleport to a battleground, or leaves the queue for a given battleground.",
}
AcceptDuel = {
  ["arguments"] = {
  },
  ["name"] = "AcceptDuel",
  ["signature"] = "AcceptDuel()",
  ["returns"] = {
  },
  ["desc"] = "Accepts a proposed duel",
}
AcceptGroup = {
  ["arguments"] = {
  },
  ["name"] = "AcceptGroup",
  ["signature"] = "AcceptGroup()",
  ["returns"] = {
  },
  ["desc"] = "Accepts an invitation to a party",
}
AcceptGuild = {
  ["arguments"] = {
  },
  ["name"] = "AcceptGuild",
  ["signature"] = "AcceptGuild()",
  ["returns"] = {
  },
  ["desc"] = "Accept an invitation to join a guild",
}
AcceptLFGMatch = {
  ["arguments"] = {
  },
  ["name"] = "AcceptLFGMatch",
  ["signature"] = "AcceptLFGMatch()",
  ["returns"] = {
  },
  ["desc"] = "Accepts a proposed LFG match",
}
AcceptLevelGrant = {
  ["name"] = "AcceptLevelGrant",
  ["signature"] = "AcceptLevelGrant()",
  ["desc"] = "Accepts a level that has been granted to you",
}
AcceptQuest = {
  ["arguments"] = {
  },
  ["name"] = "AcceptQuest",
  ["signature"] = "AcceptQuest()",
  ["returns"] = {
  },
  ["desc"] = "Accepts the quest that is currently displayed",
}
AcceptResurrect = {
  ["arguments"] = {
  },
  ["name"] = "AcceptResurrect",
  ["signature"] = "AcceptResurrect()",
  ["returns"] = {
  },
  ["desc"] = "Accepts a pending resurrection spell",
}
AcceptSkillUps = {
  ["arguments"] = {
  },
  ["name"] = "AcceptSkillUps",
  ["signature"] = "AcceptSkillUps()",
  ["returns"] = {
  },
  ["desc"] = "",
}
AcceptSockets = {
  ["arguments"] = {
  },
  ["name"] = "AcceptSockets",
  ["signature"] = "AcceptSockets()",
  ["returns"] = {
  },
  ["desc"] = "Accepts the current socketed gems without confirmation",
}
AcceptTrade = {
  ["arguments"] = {
  },
  ["name"] = "AcceptTrade",
  ["signature"] = "AcceptTrade()",
  ["returns"] = {
  },
  ["desc"] = "Accepts a proposed trade",
}
AcceptXPLoss = {
  ["arguments"] = {
  },
  ["name"] = "AcceptXPLoss",
  ["signature"] = "AcceptXPLoss()",
  ["returns"] = {
  },
  ["desc"] = "Confirms the loss of 25% durability when resurrecting at the spirit healer, without confirmation",
}
ActionHasRange = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action bar slot",
    },
  },
  ["name"] = "ActionHasRange",
  ["signature"] = "hasRange = ActionHasRange(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasRange",
      ["desc"] = "1 if the action has a range restriction, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not an action has a range restriction",
}
AddChatWindowChannel = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a chat frame (1-7)",
    },
    {
      ["type"] = "number",
      ["name"] = "channel",
      ["desc"] = "The name of a chat channel",
    },
  },
  ["name"] = "AddChatWindowChannel",
  ["signature"] = "zoneChannel  = AddChatWindowChannel(index, \"channel\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "zoneChannel",
      ["desc"] = "0 for non-zone channels, otherwise a numeric index specific to that channel",
    },
  },
  ["desc"] = "Maps a channel in a specific chat frame to a numeric index.",
}
AddChatWindowMessages = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "ChatFrame index (1-7)",
    },
    {
      ["type"] = "string",
      ["name"] = "messageGroup",
      ["desc"] = "Message group to add to the chatframe",
    },
  },
  ["name"] = "AddChatWindowMessages",
  ["signature"] = "AddChatWindowMessages(index, \"messageGroup\")",
  ["returns"] = {
  },
  ["desc"] = "Sets a chat frame to receive and show messages of the given message group.",
}
AddFriend = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The full name of a player to add to the friends list",
        },
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid of the player to add to the friends list",
        },
      },
    },
  },
  ["name"] = "AddFriend",
  ["signature"] = "AddFriend(\"name\" or \"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Adds a player or unit to the friend's list",
}
AddIgnore = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The full name of a player to add to the ignore list",
        },
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid of the player to add to the ignore list",
        },
      },
    },
  },
  ["name"] = "AddIgnore",
  ["signature"] = "AddIgnore(\"name\" or \"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Adds a player or unit to the ignore list",
}
AddMute = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "fullname",
      ["desc"] = "The name of the player to be muted",
    },
  },
  ["name"] = "AddMute",
  ["signature"] = "AddMute(\"fullname\")",
  ["returns"] = {
  },
  ["desc"] = "Mutes a player in voice chat",
}
AddOrDelIgnore = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "fullname",
      ["desc"] = "The player to add or remove from the ignore list",
    },
  },
  ["name"] = "AddOrDelIgnore",
  ["signature"] = "AddOrDelIgnore(\"fullname\")",
  ["returns"] = {
  },
  ["desc"] = "Adds or removes a player from the ignore list",
}
AddOrDelMute = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to mute",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to mute",
        },
      },
    },
  },
  ["name"] = "AddOrDelMute",
  ["signature"] = "AddOrDelMute(\"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Adds or removes a player/unit from the voice mute list",
}
AddQuestWatch = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "questIndex",
      ["desc"] = "The index of a quest in the quest log",
    },
  },
  ["name"] = "AddQuestWatch",
  ["signature"] = "AddQuestWatch(questIndex)",
  ["returns"] = {
  },
  ["desc"] = "Adds a quest to the quest tracker",
}
AddSkillUp = {
  ["arguments"] = {
  },
  ["name"] = "AddSkillUp",
  ["signature"] = "AddSkillUp(index)",
  ["returns"] = {
  },
  ["desc"] = "",
}
AddTradeMoney = {
  ["arguments"] = {
  },
  ["name"] = "AddTradeMoney",
  ["signature"] = "AddTradeMoney()",
  ["returns"] = {
  },
  ["desc"] = "Adds the money currently on the cursor to the trade window",
}
AppendToFile = {
  ["arguments"] = {
  },
  ["name"] = "AppendToFile",
  ["signature"] = "AppendToFile",
  ["returns"] = {
  },
  ["desc"] = "",
}
ArenaTeamDisband = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the arena team to disband.  These indices begin at 1, with 1 always being the smallest team the player is a part of.  For example, if the player is only a member of a 3v3 and 5v5 team then the index 1 will be the 3v3 team, and the index 2 will be the 5v5 team.",
    },
  },
  ["name"] = "ArenaTeamDisband",
  ["signature"] = "ArenaTeamDisband(team)",
  ["returns"] = {
  },
  ["desc"] = "Disbands an arena team",
}
ArenaTeamInviteByName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the arena team",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to invite",
    },
  },
  ["name"] = "ArenaTeamInviteByName",
  ["signature"] = "ArenaTeamInviteByName(team, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Invites a player to one of the player's arena teams",
}
ArenaTeamLeave = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the team to leave.",
    },
  },
  ["name"] = "ArenaTeamLeave",
  ["signature"] = "ArenaTeamLeave(team)",
  ["returns"] = {
  },
  ["desc"] = "Leaves an arena team",
}
ArenaTeamRoster = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the team to be queried",
    },
  },
  ["name"] = "ArenaTeamRoster",
  ["signature"] = "ArenaTeamRoster(team)",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for roster information about an Arena team",
}
ArenaTeamSetLeaderByName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the arena team",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to promote to team leader",
    },
  },
  ["name"] = "ArenaTeamSetLeaderByName",
  ["signature"] = "ArenaTeamSetLeaderByName(team, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Promotes an arena team member to team leader",
}
ArenaTeamUninviteByName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the arena team",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to uninvite from the given arena team",
    },
  },
  ["name"] = "ArenaTeamUninviteByName",
  ["signature"] = "ArenaTeamUninviteByName(team, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Uninvites a player from an arena team",
}
AscendStop = {
  ["arguments"] = {
  },
  ["name"] = "AscendStop",
  ["signature"] = "AscendStop()",
  ["returns"] = {
  },
  ["desc"] = "Called when the player releases the binding for Jump",
}
AssistUnit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The full name of a player to add to the friends list",
        },
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid of the player to add to the friends list",
        },
      },
    },
  },
  ["name"] = "AssistUnit",
  ["signature"] = "AssistUnit(\"name\" or \"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Assists a player by unit or name",
}
AttackTarget = {
  ["arguments"] = {
  },
  ["name"] = "AttackTarget",
  ["signature"] = "AttackTarget()",
  ["returns"] = {
  },
  ["desc"] = "Enables melee auto-attacking against the currently selected target",
}
AutoEquipCursorItem = {
  ["arguments"] = {
  },
  ["name"] = "AutoEquipCursorItem",
  ["signature"] = "AutoEquipCursorItem()",
  ["returns"] = {
  },
  ["desc"] = "Tries to equip the item currently held on the cursor",
}
AutoStoreGuildBankItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of a guild bank tab",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "A slot in the guild bank tab",
    },
  },
  ["name"] = "AutoStoreGuildBankItem",
  ["signature"] = "AutoStoreGuildBankItem(tab, slot)",
  ["returns"] = {
  },
  ["desc"] = "Withdraws an item from the guild bank, automatically storing it in your inventory",
}
BankButtonIDToInvSlotID = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "buttonID",
      ["desc"] = "A button Id from the bank interface",
    },
    {
      ["type"] = "1nil",
      ["optional"] = true,
      ["name"] = "isBag",
      ["desc"] = "Indicates if the given slot is a bag",
    },
  },
  ["name"] = "BankButtonIDToInvSlotID",
  ["signature"] = "inventoryId = BankButtonIDToInvSlotID(buttonId [, isBag])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "inventoryId",
      ["desc"] = "An inventory slot Id that can be used in the inventory functions.",
    },
  },
  ["desc"] = "Returns an inventory slot Id mapped from a bank location",
}
BeginTrade = {
  ["arguments"] = {
  },
  ["name"] = "BeginTrade",
  ["signature"] = "BeginTrade()",
  ["returns"] = {
  },
  ["desc"] = "Accept a trade request from someone.",
}
BindEnchant = {
  ["arguments"] = {
  },
  ["name"] = "BindEnchant",
  ["signature"] = "BindEnchant()",
  ["returns"] = {
  },
  ["desc"] = "Confirms enchanting an item, when it would cause the item to become soulbound",
}
BuyGuildBankTab = {
  ["arguments"] = {
  },
  ["name"] = "BuyGuildBankTab",
  ["signature"] = "BuyGuildBankTab()",
  ["returns"] = {
  },
  ["desc"] = "Purchases the next available guild bank tab, without confirmation",
}
BuyGuildCharter = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "guildName",
      ["desc"] = "The name of the guild",
    },
  },
  ["name"] = "BuyGuildCharter",
  ["signature"] = "BuyGuildCharter(\"guildName\")",
  ["returns"] = {
  },
  ["desc"] = "Purchases a guild charter with a given name",
}
BuyMerchantItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an item available at the merchant",
    },
    {
      ["type"] = "number",
      ["name"] = "quantity",
      ["desc"] = "The number of items to purchase",
    },
  },
  ["name"] = "BuyMerchantItem",
  ["signature"] = "BuyMerchantItem(index [,quantity])",
  ["returns"] = {
  },
  ["desc"] = "Purchases an item available from a merchant, without confirmation",
}
BuyPetition = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the petition to purchase.  For purchashing arena charters, these are 1 for 2v2, 2 for 3v3 and 3 for 5v5.",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name to use for the petition",
    },
  },
  ["name"] = "BuyPetition",
  ["signature"] = "BuyPetition(index, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Purchases a petition (used for arena charters)",
}
BuySkillTier = {
  ["arguments"] = {
  },
  ["name"] = "BuySkillTier",
  ["signature"] = "BuySkillTier(index)",
  ["returns"] = {
  },
  ["desc"] = "",
}
BuyStableSlot = {
  ["arguments"] = {
  },
  ["name"] = "BuyStableSlot",
  ["signature"] = "BuyStableSlot()",
  ["returns"] = {
  },
  ["desc"] = "Purchases the next available stable slot, without confirmation",
}
BuyTrainerService = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a service available at a trainer",
    },
  },
  ["name"] = "BuyTrainerService",
  ["signature"] = "BuyTrainerService(index)",
  ["returns"] = {
  },
  ["desc"] = "Purchases a service available at a trainer",
}
BuybackItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot on the buyback tab",
    },
  },
  ["name"] = "BuybackItem",
  ["signature"] = "BuybackItem(slot)",
  ["returns"] = {
  },
  ["desc"] = "Purchases an item from the buyback tab",
}
CalculateAuctionDeposit = {
  ["arguments"] = {
    {
      ["name"] = "runTime",
      ["type"] = "number",
      ["values"] = {
        [1440] = "24 hours",
        [2880] = "48 hours",
        [720] = "12 hours",
      },
      ["desc"] = "The runtime of the proposed auction",
    },
  },
  ["name"] = "CalculateAuctionDeposit",
  ["signature"] = "deposit = CalculateAuctionDeposit(runTime)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "deposit",
      ["desc"] = "The cost of the deposit, in copper",
    },
  },
  ["desc"] = "Returns the cost of an auction house deposit for a given runtime",
}
CalendarGetDate = {
  ["name"] = "CalendarGetDate",
  ["signature"] = "unknown, dateMonth, dateDay, dateYear = CalendarGetDate()",
  ["desc"] = "",
}
CameraOrSelectOrMoveStart = {
  ["arguments"] = {
  },
  ["name"] = "CameraOrSelectOrMoveStart",
  ["signature"] = "CameraOrSelectOrMoveStart()",
  ["returns"] = {
  },
  ["desc"] = "Called when left-clicking in the 3-D world",
}
CameraOrSelectOrMoveStop = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSticky",
      ["desc"] = "If 1, the camera will remain static until cancelled. Otherwise, the camera will pan back to be directly behind the character",
    },
  },
  ["name"] = "CameraOrSelectOrMoveStop",
  ["signature"] = "CameraOrSelectOrMoveStop(isSticky)",
  ["returns"] = {
  },
  ["desc"] = "Ends a left-click in the 3-D world",
}
CameraZoomIn = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "distance",
      ["desc"] = "The distance to zoom in",
    },
  },
  ["name"] = "CameraZoomIn",
  ["signature"] = "CameraZoomIn(distance)",
  ["returns"] = {
  },
  ["desc"] = "Zooms the camera in a specified distance",
}
CameraZoomOut = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "distance",
      ["desc"] = "The distance to zoom out",
    },
  },
  ["name"] = "CameraZoomOut",
  ["signature"] = "CameraZoomOut(distance)",
  ["returns"] = {
  },
  ["desc"] = "Zooms the camera out.",
}
CanComplainChat = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "lineID",
      ["desc"] = "The unique identifier of a given chat line",
    },
  },
  ["name"] = "CanComplainChat",
  ["signature"] = "canComplain = CanComplainChat(lineID)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canComplain",
      ["desc"] = "1 if the player can complain about the given chat line, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given chat line can be reported",
}
CanComplainInboxItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "mailID",
      ["desc"] = "The index of the message in the mailbox",
    },
  },
  ["name"] = "CanComplainInboxItem",
  ["signature"] = "complain = CanComplainInboxItem(mailID)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "complain",
      ["desc"] = "1 if the inbox item can be complained about, otherwise nil",
    },
  },
  ["desc"] = "Query an inbox mail item for complain status. This determines if you can report this mail as Spam. Returns 1 if you can, nil otherwise.  This function only works at the mailbox, and will return nil for anyone on your friends list",
}
CanEditGuildInfo = {
  ["arguments"] = {
  },
  ["name"] = "CanEditGuildInfo",
  ["signature"] = "canEdit = CanEditGuildInfo()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canEdit",
      ["desc"] = "1 if the player can edit the guild information, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can edit the guild information",
}
CanEditGuildTabInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of the guild tab",
    },
  },
  ["name"] = "CanEditGuildTabInfo",
  ["signature"] = "canEdit = CanEditGuildTabInfo(tab)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canEdit",
      ["desc"] = "1 if the player can edit the given guild tab, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can edit a given guild tab info",
}
CanEditMOTD = {
  ["arguments"] = {
  },
  ["name"] = "CanEditMOTD",
  ["signature"] = "canEdit = CanEditMOTD()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canEdit",
      ["desc"] = "1 if the player can edit the guild MOTD, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can edit the guild MOTD",
}
CanEditOfficerNote = {
  ["arguments"] = {
  },
  ["name"] = "CanEditOfficerNote",
  ["signature"] = "canEdit = CanEditOfficerNote()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canEdit",
      ["desc"] = "1 if the player can edit officer notes, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can edit officer notes",
}
CanEditPublicNote = {
  ["arguments"] = {
  },
  ["name"] = "CanEditPublicNote",
  ["signature"] = "canEdit = CanEditPublicNote()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canEdit",
      ["desc"] = "1 if the player can edit public notes, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can edit public notes",
}
CanGrantLevel = {
  ["name"] = "CanGrantLevel",
  ["signature"] = "",
  ["desc"] = "",
}
CanGuildBankRepair = {
  ["name"] = "CanGuildBankRepair",
  ["signature"] = "canRepair = CanGuildBankRepair()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canRepair",
      ["desc"] = "1 if the player is able to repair using guild bank funds, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can pay for repairs using guild bank funds",
}
CanGuildDemote = {
  ["arguments"] = {
  },
  ["name"] = "CanGuildDemote",
  ["signature"] = "canDemote = CanGuildDemote()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canDemote",
      ["desc"] = "1 if the player can demote lower ranked guild members.  This is determined by the player's guild rank permissions",
    },
  },
  ["desc"] = "Returns whether or not the player can demote lower ranked guild members",
}
CanGuildInvite = {
  ["arguments"] = {
  },
  ["name"] = "CanGuildInvite",
  ["signature"] = "canInvite = CanGuildInvite()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canInvite",
      ["desc"] = "1 if the player can invite members to their guild, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can invite members to their guild",
}
CanGuildPromote = {
  ["arguments"] = {
  },
  ["name"] = "CanGuildPromote",
  ["signature"] = "canPromote = CanGuildPromote()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canPromote",
      ["desc"] = "1 if the player has the ability to promote within the guild, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player has the ability to promote other players within the guild.",
}
CanGuildRemove = {
  ["arguments"] = {
  },
  ["name"] = "CanGuildRemove",
  ["signature"] = "canRemove = CanGuildRemove()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canRemove",
      ["desc"] = "1 if the player can remove a member from their guild, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can remove a member from their guild",
}
CanInspect = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unitId",
      ["desc"] = "The unitId that you want to check if you can inspect. This function only accepts unitIds and not player names.",
    },
    {
      ["type"] = "boolean",
      ["name"] = "showError",
      ["desc"] = "true to display an error in the UIErrorsFrame, otherwise false",
    },
  },
  ["name"] = "CanInspect",
  ["signature"] = "canInspect = CanInspect(unitId [, showError])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canInspect",
      ["desc"] = "1 if we ca inspect the unit, otherwise nil",
    },
  },
  ["desc"] = "This function returns if the given unit can be inspected.",
}
CanJoinBattlefieldAsGroup = {
  ["arguments"] = {
  },
  ["name"] = "CanJoinBattlefieldAsGroup",
  ["signature"] = "canGroupJoin = CanJoinBattlefieldAsGroup()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canGroupJoin",
      ["desc"] = "1 if the currently displayed battlefield supports joining as a group",
    },
  },
  ["desc"] = "Returns whether or not the currently displayed battlefield supports joining as a group",
}
CanMerchantRepair = {
  ["arguments"] = {
  },
  ["name"] = "CanMerchantRepair",
  ["signature"] = "canRepair = CanMerchantRepair()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canRepair",
      ["desc"] = "1 if the merchant can repair equipment, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the open merchant can repair equipment",
}
CanSendAuctionQuery = {
  ["arguments"] = {
    {
      ["name"] = "list",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player placed",
        ["list"] = "Available auctions listing",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction listing",
    },
  },
  ["name"] = "CanSendAuctionQuery",
  ["signature"] = "canQuery, canMassQuery = CanSendAuctionQuery(\"list\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canQuery",
      ["desc"] = "1 if the player can submit an auction query, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canMassQuery",
      ["desc"] = "1 if the player can submit a mass auction query, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not the player can perform a given auction house query",
}
CanSendLFGQuery = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "type",
      ["desc"] = "The type of LFG query.  The valid values can be obtained from GetLFGTypes()",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The specific LFG dungeon/quest index.  The valid values can be obtained from GetLFGTypeEntries()",
    },
  },
  ["name"] = "CanSendLFGQuery",
  ["signature"] = "canSend = CanSendLFGQuery(type, index)",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "canSend",
      ["desc"] = "true if the player can submit a LFG query for the given type/index, otherwise false",
    },
  },
  ["desc"] = "Returns whether or not the player can submit a LFG/LFM request for the given type and index",
}
CanShowResetInstances = {
  ["arguments"] = {
  },
  ["name"] = "CanShowResetInstances",
  ["signature"] = "canResetInstances = CanShowResetInstances()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canResetInstances",
      ["desc"] = "1 if the player can currently reset instances, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can reset instances",
}
CanSignPetition = {
  ["arguments"] = {
  },
  ["name"] = "CanSignPetition",
  ["signature"] = "canSign = CanSignPetition()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canSign",
      ["desc"] = "1 if the player can sign the currently offered petition, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can sign the currently offered petition",
}
CanSummonFriend = {
  ["name"] = "CanSummonFriend",
  ["signature"] = "canSummon = CanSummonFriend()",
  ["desc"] = "",
}
CanViewOfficerNote = {
  ["arguments"] = {
  },
  ["name"] = "CanViewOfficerNote",
  ["signature"] = "canView = CanViewOfficerNote()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canView",
      ["desc"] = "1 if the player can view officer notes, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can view officer notes",
}
CanWithdrawGuildBankMoney = {
  ["arguments"] = {
  },
  ["name"] = "CanWithdrawGuildBankMoney",
  ["signature"] = "canWithdraw = CanWithdrawGuildBankMoney()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canWithdraw",
      ["desc"] = "1 if the player can withdraw money from the guild bank, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player can withdraw money from the guild bank",
}
CancelAreaSpiritHeal = {
  ["arguments"] = {
  },
  ["name"] = "CancelAreaSpiritHeal",
  ["signature"] = "CancelAreaSpiritHeal()",
  ["returns"] = {
  },
  ["desc"] = "Cancels resurrection if one is pending from a battleground spirit healer",
}
CancelAuction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the auction in the \"owner\" listing",
    },
  },
  ["name"] = "CancelAuction",
  ["signature"] = "CancelAuction(index)",
  ["returns"] = {
  },
  ["desc"] = "Cancels an auction that has been placed by the player",
}
CancelDuel = {
  ["arguments"] = {
  },
  ["name"] = "CancelDuel",
  ["signature"] = "CancelDuel()",
  ["returns"] = {
  },
  ["desc"] = "Cancels a proposed duel, or declines a duel that has been offered",
}
CancelItemTempEnchantment = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "1 to cancel the mainhand item enchant, 2 to cancel the offhand item enchant",
    },
  },
  ["name"] = "CancelItemTempEnchantment",
  ["signature"] = "CancelItemTempEnchantment(slot)",
  ["returns"] = {
  },
  ["desc"] = "Cancels a temporary item enchant",
}
CancelLogout = {
  ["arguments"] = {
  },
  ["name"] = "CancelLogout",
  ["signature"] = "CancelLogout()",
  ["returns"] = {
  },
  ["desc"] = "Cancels a pending logout",
}
CancelPendingEquip = {
  ["arguments"] = {
  },
  ["name"] = "CancelPendingEquip",
  ["signature"] = "CancelPendingEquip(index)",
  ["returns"] = {
  },
  ["desc"] = "Cancels a pending equip action",
}
CancelPendingLFG = {
  ["arguments"] = {
  },
  ["name"] = "CancelPendingLFG",
  ["signature"] = "CancelPendingLFG()",
  ["returns"] = {
  },
  ["desc"] = "Removes the player from all open LookingForGroup queues.",
}
CancelShapeshiftForm = {
  ["arguments"] = {
  },
  ["name"] = "CancelShapeshiftForm",
  ["signature"] = "CancelShapeshiftForm()",
  ["returns"] = {
  },
  ["desc"] = "Cancels the current shapeshift form",
}
CancelSkillUps = {
  ["arguments"] = {
  },
  ["name"] = "CancelSkillUps",
  ["signature"] = "CancelSkillUps()",
  ["returns"] = {
  },
  ["desc"] = "",
}
CancelTrade = {
  ["arguments"] = {
  },
  ["name"] = "CancelTrade",
  ["signature"] = "CancelTrade()",
  ["returns"] = {
  },
  ["desc"] = "Cancels an active trade",
}
CancelTradeAccept = {
  ["arguments"] = {
  },
  ["name"] = "CancelTradeAccept",
  ["signature"] = "CancelTradeAccept()",
  ["returns"] = {
  },
  ["desc"] = "Cancels a trade that is currently pending accepting by the other party",
}
CastPetAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a pet action, in the pet's action bar",
    },
    {
      ["type"] = "unitid",
      ["name"] = "target",
      ["desc"] = "The unit to use as the target of the given action",
    },
  },
  ["name"] = "CastPetAction",
  ["signature"] = "CastPetAction(index, \"target\")",
  ["returns"] = {
  },
  ["desc"] = "Casts a pet action on a specific target",
}
CastShapeshiftForm = {
  ["arguments"] = {
  },
  ["name"] = "CastShapeshiftForm",
  ["signature"] = "CastShapeshiftForm(index)",
  ["returns"] = {
  },
  ["desc"] = "Casts a shapeshift form by index",
}
CastSpell = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "spellID",
      ["desc"] = "The index of a spell in the spellbook",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook to use",
    },
  },
  ["name"] = "CastSpell",
  ["signature"] = "CastSpell(spellID, \"bookType\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
CastSpellByName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of a spell to cast",
    },
    {
      ["type"] = "unitid",
      ["name"] = "target",
      ["desc"] = "The unit to use as the target of the given action",
    },
  },
  ["name"] = "CastSpellByName",
  ["signature"] = "CastSpellByName(\"name\" [, \"target\"])",
  ["returns"] = {
  },
  ["desc"] = "",
}
ChangeActionBarPage = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "page",
      ["desc"] = "The action bar page to change to",
    },
  },
  ["name"] = "ChangeActionBarPage",
  ["signature"] = "ChangeActionBarPage(page)",
  ["returns"] = {
  },
  ["desc"] = "Changes the current action bar page",
}
ChangeChatColor = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "messageType",
      ["desc"] = "The message type, as listed in chat-cache.txt.  Example values are \"SAY\" and \"CHANNEL1\".",
    },
    {
      ["type"] = "number",
      ["name"] = "red",
      ["desc"] = "The value of the red component color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "green",
      ["desc"] = "The value of the green component color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "blue",
      ["desc"] = "The value of the blue component color (0.0 - 1.0)",
    },
  },
  ["name"] = "ChangeChatColor",
  ["signature"] = "ChangeChatColor(\"messageType\", red, green, blue)",
  ["returns"] = {
  },
  ["desc"] = "Changes the color of a message type in the chat windows",
}
ChannelBan = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "string",
      ["name"] = "fullname",
      ["desc"] = "The name of the player to be banned",
    },
  },
  ["name"] = "ChannelBan",
  ["signature"] = "ChannelBan(\"channel\", \"fullname\")",
  ["returns"] = {
  },
  ["desc"] = "Bans a player from a given chat channel",
}
ChannelInvite = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The channel name",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The player's name",
    },
  },
  ["name"] = "ChannelInvite",
  ["signature"] = "ChannelInvite(\"channel\", \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Invites a player to a given channel",
}
ChannelKick = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to kick",
    },
  },
  ["name"] = "ChannelKick",
  ["signature"] = "ChannelKick(\"channel\", \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Kicks a player from the given channel",
}
ChannelModerator = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "string",
      ["name"] = "fullname",
      ["desc"] = "The name of the player to give moderator status",
    },
  },
  ["name"] = "ChannelModerator",
  ["signature"] = "ChannelModerator(\"channel\", \"fullname\")",
  ["returns"] = {
  },
  ["desc"] = "Grants a player moderator status on the given channel",
}
ChannelMute = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The channel on which to mute the selected player",
    },
    {
      ["type"] = "string",
      ["name"] = "player",
      ["desc"] = "The name of the player to mute on the selected channel",
    },
  },
  ["name"] = "ChannelMute",
  ["signature"] = "ChannelMute(\"channel\", \"player\")",
  ["returns"] = {
  },
  ["desc"] = "Turns off the specified player's ability to speak in the channel",
}
ChannelSilenceAll = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "channel",
          ["desc"] = "The name of the given channel",
        },
        {
          ["type"] = "number",
          ["name"] = "channelIndex",
          ["desc"] = "The index of the given channel",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The exact name of the player to silence",
    },
  },
  ["name"] = "ChannelSilenceAll",
  ["signature"] = "ChannelSilenceAll(\"channel\" or channelIndex, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Removes both voice and chat permissions for the given player in the specified channel",
}
ChannelSilenceVoice = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "Channel to silence the character on",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Name of the character to silence",
    },
  },
  ["name"] = "ChannelSilenceVoice",
  ["signature"] = "ChannelSilenceVoice(\"channel\", \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Silences the given character for voice chat on the channel.  Can only be done as a raid/party/bg leader or assistant",
}
ChannelToggleAnnouncements = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The channel to enable or disable channel announcements for",
    },
  },
  ["name"] = "ChannelToggleAnnouncements",
  ["signature"] = "ChannelToggleAnnouncements(\"channel\")",
  ["returns"] = {
  },
  ["desc"] = "Toggles channel announcements for a given channel.",
}
ChannelUnSilenceAll = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "channelName",
          ["desc"] = "The name of the channel",
        },
        {
          ["type"] = "number",
          ["name"] = "channelIndex",
          ["desc"] = "The index of the channel",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of a player to unsilence",
    },
  },
  ["name"] = "ChannelUnSilenceAll",
  ["signature"] = "ChannelUnSilenceAll(\"channelName\" or channelIndex, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Unsilences a player for chat and voice on a given channel",
}
ChannelUnSilenceVoice = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "channelName",
          ["desc"] = "The name of a channel",
        },
        {
          ["type"] = "number",
          ["name"] = "channelId",
          ["desc"] = "The numeric index of a channel",
        },
      },
    },
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitId to unsilence",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to unsilence",
        },
      },
    },
  },
  ["name"] = "ChannelUnSilenceVoice",
  ["signature"] = "ChannelUnSilenceVoice(\"channelName\" or channelId, \"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Unsilences a player on a given channel",
}
ChannelUnban = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "string",
      ["name"] = "player",
      ["desc"] = "The name of the player",
    },
  },
  ["name"] = "ChannelUnban",
  ["signature"] = "ChannelUnban(\"channel\", \"player\")",
  ["returns"] = {
  },
  ["desc"] = "Unbans a player from a given channel",
}
ChannelUnmoderator = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "string",
      ["name"] = "player",
      ["desc"] = "The player to revoke moderator status from",
    },
  },
  ["name"] = "ChannelUnmoderator",
  ["signature"] = "ChannelUnmoderator(\"channel\", \"player\")",
  ["returns"] = {
  },
  ["desc"] = "Revokes moderator status from a given player on a specific channel",
}
ChannelUnmute = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The channel to unmute the player in.",
    },
    {
      ["type"] = "string",
      ["name"] = "player",
      ["desc"] = "The player to unmute,",
    },
  },
  ["name"] = "ChannelUnmute",
  ["signature"] = "ChannelUnmute(\"channel\", \"player\")",
  ["returns"] = {
  },
  ["desc"] = "Unmutes the specified player on that channel",
}
ChannelVoiceOff = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "channel",
          ["desc"] = "The name of the given channel",
        },
        {
          ["type"] = "number",
          ["name"] = "channelIndex",
          ["desc"] = "The index of the given channel",
        },
      },
    },
  },
  ["name"] = "ChannelVoiceOff",
  ["signature"] = "ChannelVoiceOff(\"channel\" or channelIndex)",
  ["returns"] = {
  },
  ["desc"] = "Disables voice chat in the given channel",
}
ChannelVoiceOn = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "channel",
          ["desc"] = "The name of the given channel",
        },
        {
          ["type"] = "number",
          ["name"] = "channelIndex",
          ["desc"] = "The index of the given channel",
        },
      },
    },
  },
  ["name"] = "ChannelVoiceOn",
  ["signature"] = "ChannelVoiceOn(\"channel\" or channelIndex)",
  ["returns"] = {
  },
  ["desc"] = "Enables voice chat in the given channel",
}
CheckBinderDist = {
  ["arguments"] = {
  },
  ["name"] = "CheckBinderDist",
  ["signature"] = "inRange = CheckBinderDist()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRange",
      ["desc"] = "1 if the player is in range of a hearthstone binder, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is in range of an NPC that can bind their hearthstone",
}
CheckInbox = {
  ["arguments"] = {
  },
  ["name"] = "CheckInbox",
  ["signature"] = "CheckInbox()",
  ["returns"] = {
  },
  ["desc"] = "Requests the player's mailbox information from the server",
}
CheckInteractDistance = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
    {
      ["name"] = "distIndex",
      ["type"] = "number",
      ["values"] = {
        "Inspect",
        "Trade",
        "Duel",
        "Follow",
      },
      ["desc"] = "The distance to check",
    },
  },
  ["name"] = "CheckInteractDistance",
  ["signature"] = "canInteract = CheckInteractDistance(\"unit\", distIndex)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canInteract",
      ["desc"] = "1 if the player can perform the given interaction with the given unit, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is close enough to interact with a unit",
}
CheckPetUntrainerDist = {
  ["arguments"] = {
  },
  ["name"] = "CheckPetUntrainerDist",
  ["signature"] = "inRange = CheckPetUntrainerDist()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRange",
      ["desc"] = "1 if you are in range of a Pet Trainer, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not the player is in range of a Pet Trainer",
}
CheckReadyCheckTime = {
  ["arguments"] = {
  },
  ["name"] = "CheckReadyCheckTime",
  ["signature"] = "CheckReadyCheckTime()",
  ["returns"] = {
  },
  ["desc"] = "Unknown, called by UIParent's OnUpdate handler",
}
CheckSpiritHealerDist = {
  ["arguments"] = {
  },
  ["name"] = "CheckSpiritHealerDist",
  ["signature"] = "inRange = CheckSpiritHealerDist()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRange",
      ["desc"] = "1 if the player is in range of a spirit healer, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is in range of a spirit healer",
}
CheckTalentMasterDist = {
  ["arguments"] = {
  },
  ["name"] = "CheckTalentMasterDist",
  ["signature"] = "inRange = CheckTalentMasterDist()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRange",
      ["desc"] = "1 if the player is in range of a talent trainer, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is in range of a talent trainer",
}
ClearChannelWatch = {
  ["arguments"] = {
  },
  ["name"] = "ClearChannelWatch",
  ["signature"] = "ClearChannelWatch",
  ["returns"] = {
  },
  ["desc"] = "",
}
ClearCursor = {
  ["arguments"] = {
  },
  ["name"] = "ClearCursor",
  ["signature"] = "ClearCursor()",
  ["returns"] = {
  },
  ["desc"] = "Removes whatever is currently attached to the cursor",
}
ClearFocus = {
  ["arguments"] = {
  },
  ["name"] = "ClearFocus",
  ["signature"] = "ClearFocus()",
  ["returns"] = {
  },
  ["desc"] = "Clears the player's focus unit",
}
ClearInspectPlayer = {
  ["arguments"] = {
  },
  ["name"] = "ClearInspectPlayer",
  ["signature"] = "ClearInspectPlayer()",
  ["returns"] = {
  },
  ["desc"] = "Clears the data for the currently inspected player",
}
ClearLFGAutojoin = {
  ["arguments"] = {
  },
  ["name"] = "ClearLFGAutojoin",
  ["signature"] = "ClearLFGAutojoin()",
  ["returns"] = {
  },
  ["desc"] = "Clears the Autojoin functionality in the LFG tool",
}
ClearLFMAutofill = {
  ["arguments"] = {
  },
  ["name"] = "ClearLFMAutofill",
  ["signature"] = "ClearLFMAutofill()",
  ["returns"] = {
  },
  ["desc"] = "Stops the LFM interface from auto-adding members to your group",
}
ClearLookingForGroup = {
  ["arguments"] = {
  },
  ["name"] = "ClearLookingForGroup",
  ["signature"] = "ClearLookingForGroup()",
  ["returns"] = {
  },
  ["desc"] = "Clears the player from any LFG/LFM listings or requests",
}
ClearLookingForMore = {
  ["arguments"] = {
  },
  ["name"] = "ClearLookingForMore",
  ["signature"] = "ClearLookingForMore()",
  ["returns"] = {
  },
  ["desc"] = "Clears all active LFM requests, removing the player from the LFG queue",
}
ClearOverrideBindings = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "owner",
      ["desc"] = "The owner of a set of override bindings",
    },
  },
  ["name"] = "ClearOverrideBindings",
  ["signature"] = "ClearOverrideBindings(owner)",
  ["returns"] = {
  },
  ["desc"] = "Clears all override bindings for a given owner",
}
ClearPartyAssignment = {
  ["arguments"] = {
    {
      ["name"] = "assignment",
      ["type"] = "string",
      ["values"] = {
        ["MAINASSIST"] = "One of the party or raid's Main Assists",
        ["MAINTANK"] = "One of the party or raid's Main Tanks",
      },
      ["desc"] = "The token for the party assigment that you want to clear",
    },
    {
      ["type"] = "string",
      ["name"] = "raidMember",
      ["desc"] = "The UnitId or name of the party or raid member whose assignment you want to clear. If nil it will clear the assignment from every member of the raid.",
    },
    {
      ["type"] = "boolean",
      ["name"] = "exactMatch",
      ["desc"] = "true if you want an exact match for the player name, otherwise false",
    },
  },
  ["name"] = "ClearPartyAssignment",
  ["signature"] = "ClearPartyAssignment(\"assignment\" [,\"raidMember\"] [,exactMatch]))",
  ["returns"] = {
  },
  ["desc"] = "Clears a specified assignment (main tank, main assist) for the specified unit, or all raid members if not specified.",
}
ClearSendMail = {
  ["arguments"] = {
  },
  ["name"] = "ClearSendMail",
  ["signature"] = "ClearSendMail",
  ["returns"] = {
  },
  ["desc"] = "Clears the send mail window, removing all items, money, text",
}
ClearTarget = {
  ["arguments"] = {
  },
  ["name"] = "ClearTarget",
  ["signature"] = "ClearTarget()",
  ["returns"] = {
  },
  ["desc"] = "Clears the player's current target",
}
ClearTutorials = {
  ["arguments"] = {
  },
  ["name"] = "ClearTutorials",
  ["signature"] = "ClearTutorials()",
  ["returns"] = {
  },
  ["desc"] = "Clears any already displayed tutorials so they are displayed again",
}
ClickAuctionSellItemButton = {
  ["arguments"] = {
  },
  ["name"] = "ClickAuctionSellItemButton",
  ["signature"] = "ClickAuctionSellItemButton()",
  ["returns"] = {
  },
  ["desc"] = "Causes the item currently being held by the cursor to be placed in the Auction House \"Create Auction\" item slot",
}
ClickPetitionButton = {
  ["arguments"] = {
  },
  ["name"] = "ClickPetitionButton",
  ["signature"] = "ClickPetitionButton",
  ["returns"] = {
  },
  ["desc"] = "",
}
ClickSendMailItemButton = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an item slot in the \"Send Mail\" panel (1-12).  This value defaults to the first available slot.  If an invalid index is specified or the item slots are full, an error message will be printed to the UIErrorsFrame.",
    },
    {
      ["type"] = "boolean",
      ["name"] = "autoReturn",
      ["desc"] = "If true, items picked up from item slots will automatically be returned to the player's bags, otherwise they will be placed on the cursor.",
    },
  },
  ["name"] = "ClickSendMailItemButton",
  ["signature"] = "ClickSendMailItemButton([index [, autoReturn]])",
  ["returns"] = {
  },
  ["desc"] = "Causes the item currently being held by the cursor to be placed in the mailbox send item slot",
}
ClickSocketButton = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a socket in the Item Socketing UI",
    },
  },
  ["name"] = "ClickSocketButton",
  ["signature"] = "ClickSocketButton(index)",
  ["returns"] = {
  },
  ["desc"] = "Picks up or places a gem in the Item Socketing UI",
}
ClickStablePet = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        "The first stable slot",
        "The second stable slot",
        [0] = "The active pet's slot",
      },
      ["desc"] = "The index of the stable slot.",
    },
  },
  ["name"] = "ClickStablePet",
  ["signature"] = "selected = ClickStablePet(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "selected",
      ["desc"] = "1 if the function selected a stabled pet, rather than placed a pet in the stable slot",
    },
  },
  ["desc"] = "Simulates a click on the given stable pet index",
}
ClickTargetTradeButton = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a trade slot on the target's side of the trade window",
    },
  },
  ["name"] = "ClickTargetTradeButton",
  ["signature"] = "ClickTargetTradeButton(index)",
  ["returns"] = {
  },
  ["desc"] = "Simulates clicking on a specific slot in the target trade window.",
}
ClickTradeButton = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the trade button window to click",
    },
  },
  ["name"] = "ClickTradeButton",
  ["signature"] = "ClickTradeButton(index)",
  ["returns"] = {
  },
  ["desc"] = "Clicks a specific trade window button",
}
CloseArenaTeamRoster = {
  ["arguments"] = {
  },
  ["name"] = "CloseArenaTeamRoster",
  ["signature"] = "CloseArenaTeamRoster()",
  ["returns"] = {
  },
  ["desc"] = "Closes the Arena Team Roster frame",
}
CloseAuctionHouse = {
  ["arguments"] = {
  },
  ["name"] = "CloseAuctionHouse",
  ["signature"] = "CloseAuctionHouse()",
  ["returns"] = {
  },
  ["desc"] = "Closes the auction house UI and stops all data retrieval.",
}
CloseBankFrame = {
  ["arguments"] = {
  },
  ["name"] = "CloseBankFrame",
  ["signature"] = "CloseBankFrame()",
  ["returns"] = {
  },
  ["desc"] = "Closes the bank frame",
}
CloseBattlefield = {
  ["arguments"] = {
  },
  ["name"] = "CloseBattlefield",
  ["signature"] = "CloseBattlefield()",
  ["returns"] = {
  },
  ["desc"] = "Closes the battlefield selection UI.",
}
CloseGossip = {
  ["arguments"] = {
  },
  ["name"] = "CloseGossip",
  ["signature"] = "CloseGossip()",
  ["returns"] = {
  },
  ["desc"] = "Closes the gossip window",
}
CloseGuildBankFrame = {
  ["arguments"] = {
  },
  ["name"] = "CloseGuildBankFrame",
  ["signature"] = "CloseGuildBankFrame()",
  ["returns"] = {
  },
  ["desc"] = "Closes the guild bank frame",
}
CloseGuildRegistrar = {
  ["arguments"] = {
  },
  ["name"] = "CloseGuildRegistrar",
  ["signature"] = "CloseGuildRegistrar()",
  ["returns"] = {
  },
  ["desc"] = "Closes the guild registrar frame",
}
CloseGuildRoster = {
  ["arguments"] = {
  },
  ["name"] = "CloseGuildRoster",
  ["signature"] = "CloseGuildRoster",
  ["returns"] = {
  },
  ["desc"] = "Closes the Guild Roster UI frame",
}
CloseItemText = {
  ["arguments"] = {
  },
  ["name"] = "CloseItemText",
  ["signature"] = "CloseItemText()",
  ["returns"] = {
  },
  ["desc"] = "Closes the item text display frame.",
}
CloseLoot = {
  ["arguments"] = {
  },
  ["name"] = "CloseLoot",
  ["signature"] = "CloseLoot()",
  ["returns"] = {
  },
  ["desc"] = "Closes the loot window",
}
CloseMail = {
  ["arguments"] = {
  },
  ["name"] = "CloseMail",
  ["signature"] = "CloseMail()",
  ["returns"] = {
  },
  ["desc"] = "Closes the mail window",
}
CloseMerchant = {
  ["arguments"] = {
  },
  ["name"] = "CloseMerchant",
  ["signature"] = "CloseMerchant()",
  ["returns"] = {
  },
  ["desc"] = "Closes the open merchant window",
}
ClosePetStables = {
  ["arguments"] = {
  },
  ["name"] = "ClosePetStables",
  ["signature"] = "ClosePetStables()",
  ["returns"] = {
  },
  ["desc"] = "Closes the Pet Stable UI window",
}
ClosePetition = {
  ["arguments"] = {
  },
  ["name"] = "ClosePetition",
  ["signature"] = "ClosePetition()",
  ["returns"] = {
  },
  ["desc"] = "Close the petition window",
}
ClosePetitionVendor = {
  ["arguments"] = {
  },
  ["name"] = "ClosePetitionVendor",
  ["signature"] = "ClosePetitionVendor()",
  ["returns"] = {
  },
  ["desc"] = "Closes the petition vendor window",
}
CloseQuest = {
  ["arguments"] = {
  },
  ["name"] = "CloseQuest",
  ["signature"] = "CloseQuest()",
  ["returns"] = {
  },
  ["desc"] = "Closes the open quest frame",
}
CloseSocketInfo = {
  ["arguments"] = {
  },
  ["name"] = "CloseSocketInfo",
  ["signature"] = "CloseSocketInfo()",
  ["returns"] = {
  },
  ["desc"] = "Closes the socket frame",
}
CloseTabardCreation = {
  ["arguments"] = {
  },
  ["name"] = "CloseTabardCreation",
  ["signature"] = "CloseTabardCreation()",
  ["returns"] = {
  },
  ["desc"] = "Closes the tabard creation window",
}
CloseTaxiMap = {
  ["arguments"] = {
  },
  ["name"] = "CloseTaxiMap",
  ["signature"] = "CloseTaxiMap()",
  ["returns"] = {
  },
  ["desc"] = "Closes the taxi (flight master) map",
}
CloseTrade = {
  ["arguments"] = {
  },
  ["name"] = "CloseTrade",
  ["signature"] = "CloseTrade()",
  ["returns"] = {
  },
  ["desc"] = "Closes the trade window",
}
CloseTradeSkill = {
  ["arguments"] = {
  },
  ["name"] = "CloseTradeSkill",
  ["signature"] = "CloseTradeSkill()",
  ["returns"] = {
  },
  ["desc"] = "Closes the tradeskill window, if it is open",
}
CloseTrainer = {
  ["arguments"] = {
  },
  ["name"] = "CloseTrainer",
  ["signature"] = "CloseTrainer()",
  ["returns"] = {
  },
  ["desc"] = "Closes the trainer window",
}
CollapseChannelHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the header in the Chat Channel window.  These indices include the actually channel listings, so the second channel may be at a higher index, depending on how many channels are listed in the first header.",
    },
  },
  ["name"] = "CollapseChannelHeader",
  ["signature"] = "CollapseChannelHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Collapses a channel header in the chat channel listing",
}
CollapseFactionHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the faction header to collapse",
    },
  },
  ["name"] = "CollapseFactionHeader",
  ["signature"] = "CollapseFactionHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Collapses a given faction header",
}
CollapseQuestHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the quest header.  This index is separate from the quest indices such that regardless of how many quests you have showing in the quest log, index 2 will always be the second header.",
    },
  },
  ["name"] = "CollapseQuestHeader",
  ["signature"] = "CollapseQuestHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Collapses a header in the quest log",
}
CollapseSkillHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill header to collapse.  If this value is a skill instead of a skill header, the enclosing header will be collapsed.",
    },
  },
  ["name"] = "CollapseSkillHeader",
  ["signature"] = "CollapseSkillHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Collapses a skill header in the Skills window",
}
CollapseTradeSkillSubClass = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the sub-class you want to collapse",
    },
  },
  ["name"] = "CollapseTradeSkillSubClass",
  ["signature"] = "CollapseTradeSkillSubClass(index)",
  ["returns"] = {
  },
  ["desc"] = "This function collapses the specified index in the TradeSkill UI",
}
CollapseTrainerSkillLine = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill line to collapse",
    },
  },
  ["name"] = "CollapseTrainerSkillLine",
  ["signature"] = "CollapseTrainerSkillLine(index)",
  ["returns"] = {
  },
  ["desc"] = "Collapses the given skill line in the class trainer frame",
}
CombatLogAddFilter = {
  ["name"] = "CombatLogAddFilter",
  ["signature"] = "CombatLogAddFilter(\"events\", \"srcGUID\" or srcMask, \"dstGUID\" or dstMask) ",
  ["desc"] = "Adds a filter to the combat log system",
}
CombatLogAdvanceEntry = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "",
    },
  },
  ["name"] = "CombatLogAdvanceEntry",
  ["signature"] = "hasEntries = CombatLogAdvanceEntry(count)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "hasEntry",
      ["desc"] = "",
    },
  },
  ["desc"] = "Advances through the filtered combat log entries.",
}
CombatLogClearEntries = {
  ["name"] = "CombatLogClearEntries",
  ["signature"] = "CombatLogClearEntries()",
  ["desc"] = "Clears all current combat log entries.",
}
CombatLogGetCurrentEntry = {
  ["name"] = "CombatLogGetCurrentEntry",
  ["signature"] = "",
  ["desc"] = "",
}
CombatLogGetNumEntries = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "ignoreFilter",
      ["desc"] = "Uses the entire unfiltered combat log history if true",
    },
  },
  ["name"] = "CombatLogGetNumEntries",
  ["signature"] = "num = CombatLogGetNumEntries([ignoreFilter])",
  ["desc"] = "Returns the number of available combat log events",
}
CombatLogGetRetentionTime = {
  ["name"] = "CombatLogGetRetentionTime",
  ["signature"] = "seconds = CombatLogGetRetentionTime()",
  ["desc"] = "Returns the amount of time combat log entries are stored",
}
CombatLogResetFilter = {
  ["name"] = "CombatLogResetFilter",
  ["signature"] = "CombatLogResetFilter()",
  ["desc"] = "Clears the combat log filter",
}
CombatLogSetCurrentEntry = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The target entry",
    },
    {
      ["type"] = "boolean",
      ["name"] = "ignoreFilter",
      ["desc"] = "Uses the entire unfiltered combat log history if true",
    },
  },
  ["name"] = "CombatLogSetCurrentEntry",
  ["signature"] = "CombatLogSetCurrentEntry(index [, ignoreFilter])",
  ["desc"] = "Sets the combat log cursor to the given index",
}
CombatLogSetRetentionTime = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "seconds",
      ["desc"] = "The desired time",
    },
  },
  ["name"] = "CombatLogSetRetentionTime",
  ["signature"] = "CombatLogSetRetentionTime(seconds)",
  ["desc"] = "Sets the amount of time combat log entries will be stored",
}
CommentatorAddPlayer = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorAddPlayer",
  ["signature"] = "CommentatorAddPlayer(teamNumber)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorEnterInstance = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorEnterInstance",
  ["signature"] = "CommentatorEnterInstance",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorExitInstance = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorExitInstance",
  ["signature"] = "CommentatorExitInstance",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorFollowPlayer = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorFollowPlayer",
  ["signature"] = "CommentatorFollowPlayer(factionIndex,playerIndex)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetCamera = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetCamera",
  ["signature"] = "CommentatorGetCamera",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetCurrentMapID = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetCurrentMapID",
  ["signature"] = "CommentatorGetCurrentMapID",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetInstanceInfo = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetInstanceInfo",
  ["signature"] = "CommentatorGetInstanceInfo",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetMapInfo = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetMapInfo",
  ["signature"] = "CommentatorGetMapInfo(mapIndex)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetMode = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetMode",
  ["signature"] = "CommentatorGetMode",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetNumMaps = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetNumMaps",
  ["signature"] = "CommentatorGetNumMaps",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetNumPlayers = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetNumPlayers",
  ["signature"] = "CommentatorGetNumPlayers(faction)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorGetPlayerInfo = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorGetPlayerInfo",
  ["signature"] = "CommentatorGetPlayerInfo(factionIndex,playerIndex)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorLookatPlayer = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorLookatPlayer",
  ["signature"] = "CommentatorLookatPlayer(factionIndex,playerIndex)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorRemovePlayer = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorRemovePlayer",
  ["signature"] = "CommentatorRemovePlayer",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetBattlemaster = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorSetBattlemaster",
  ["signature"] = "CommentatorSetBattlemaster",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetCamera = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorSetCamera",
  ["signature"] = "CommentatorSetCamera(xPos,yPos,zPos,yaw,pitch,fov)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetCameraCollision = {
  ["name"] = "CommentatorSetCameraCollision",
  ["signature"] = "",
  ["desc"] = "",
}
CommentatorSetMapAndInstanceIndex = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorSetMapAndInstanceIndex",
  ["signature"] = "CommentatorSetMapAndInstanceIndex(mapIndex,instanceIndex)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetMode = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorSetMode",
  ["signature"] = "CommentatorSetMode()",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetMoveSpeed = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorSetMoveSpeed",
  ["signature"] = "CommentatorSetMoveSpeed(speed)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetPlayerIndex = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorSetPlayerIndex",
  ["signature"] = "CommentatorSetPlayerIndex(factionIndex,playerIndex)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorSetTargetHeightOffset = {
  ["name"] = "CommentatorSetTargetHeightOffset",
  ["signature"] = "CommentatorSetTargetHeightOffset",
  ["desc"] = "",
}
CommentatorStartInstance = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorStartInstance",
  ["signature"] = "CommentatorStartInstance(mapID,teamSize,minLevel,maxLevel)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorToggleMode = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorToggleMode",
  ["signature"] = "CommentatorToggleMode",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorUpdateMapInfo = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorUpdateMapInfo",
  ["signature"] = "CommentatorUpdateMapInfo",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorUpdatePlayerInfo = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorUpdatePlayerInfo",
  ["signature"] = "CommentatorUpdatePlayerInfo",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorZoomIn = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorZoomIn",
  ["signature"] = "CommentatorZoomIn",
  ["returns"] = {
  },
  ["desc"] = "",
}
CommentatorZoomOut = {
  ["arguments"] = {
  },
  ["name"] = "CommentatorZoomOut",
  ["signature"] = "CommentatorZoomOut",
  ["returns"] = {
  },
  ["desc"] = "",
}
ComplainChat = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "lineID",
          ["desc"] = "The unique lineID of a message in a ChatFrame.",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a player to complain about",
        },
      },
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "text",
      ["desc"] = "The specific text to complain about",
    },
  },
  ["name"] = "ComplainChat",
  ["signature"] = "ComplainChat(lineID or \"name\" [, \"text\"])",
  ["returns"] = {
  },
  ["desc"] = "Files a complaint about a given chat message",
}
ComplainInboxItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Inbox item to report as spam",
    },
  },
  ["name"] = "ComplainInboxItem",
  ["signature"] = "ComplainInboxItem(index)",
  ["returns"] = {
  },
  ["desc"] = "Reports an inbox item as spam",
}
CompleteQuest = {
  ["arguments"] = {
  },
  ["name"] = "CompleteQuest",
  ["signature"] = "CompleteQuest()",
  ["returns"] = {
  },
  ["desc"] = "Completes the current quest in a questgiver dialog.",
}
ConfirmAcceptQuest = {
  ["arguments"] = {
  },
  ["name"] = "ConfirmAcceptQuest",
  ["signature"] = "ConfirmAcceptQuest()",
  ["returns"] = {
  },
  ["desc"] = "Confirms accepting a quest that someone in your group is starting",
}
ConfirmBindOnUse = {
  ["arguments"] = {
  },
  ["name"] = "ConfirmBindOnUse",
  ["signature"] = "ConfirmBindOnUse()",
  ["returns"] = {
  },
  ["desc"] = "Confirms the \"Bind on Use\" dialog when using a new item",
}
ConfirmBinder = {
  ["arguments"] = {
  },
  ["name"] = "ConfirmBinder",
  ["signature"] = "ConfirmBinder()",
  ["returns"] = {
  },
  ["desc"] = "Confirms a new hearthstone location",
}
ConfirmLootRoll = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "lootIndex",
      ["desc"] = "The index of the loot to roll on",
    },
    {
      ["name"] = "rollType",
      ["type"] = "number",
      ["values"] = {
        "Confirm a 'need' roll",
        "Confirm a 'greed' roll",
        [0] = "Pass on the given loot (not used for this function)",
      },
      ["desc"] = "The roll action to confirm",
    },
  },
  ["name"] = "ConfirmLootRoll",
  ["signature"] = "ConfirmLootRoll(lootIndex, rollType)",
  ["returns"] = {
  },
  ["desc"] = "Confirms a loot roll for a given item that will be bound to your character if you win the roll",
}
ConfirmLootSlot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of the loot slot",
    },
  },
  ["name"] = "ConfirmLootSlot",
  ["signature"] = "ConfirmLootSlot(slot)",
  ["returns"] = {
  },
  ["desc"] = "Confirms the looting of a bind-on-pickup item",
}
ConfirmPetUnlearn = {
  ["arguments"] = {
  },
  ["name"] = "ConfirmPetUnlearn",
  ["signature"] = "ConfirmPetUnlearn()",
  ["returns"] = {
  },
  ["desc"] = "Confirms unlearning a pet's skills",
}
ConfirmReadyCheck = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "ready",
      ["desc"] = "1 if the player is ready, otherwise nil.",
    },
  },
  ["name"] = "ConfirmReadyCheck",
  ["signature"] = "ConfirmReadyCheck(ready)",
  ["returns"] = {
  },
  ["desc"] = "Sends your ready status to the raid leader when asked for a readycheck",
}
ConfirmSummon = {
  ["arguments"] = {
  },
  ["name"] = "ConfirmSummon",
  ["signature"] = "ConfirmSummon()",
  ["returns"] = {
  },
  ["desc"] = "Accepts a summon spell",
}
ConfirmTalentWipe = {
  ["arguments"] = {
  },
  ["name"] = "ConfirmTalentWipe",
  ["signature"] = "ConfirmTalentWipe()",
  ["returns"] = {
  },
  ["desc"] = "Confirms the player unlearning all talents",
}
ConsoleExec = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "console_command",
      ["desc"] = "The console command to run",
    },
  },
  ["name"] = "ConsoleExec",
  ["signature"] = "ConsoleExec(\"console_command\")",
  ["returns"] = {
  },
  ["desc"] = "Runs a console command",
}
ContainerIDToInventoryID = {
  ["arguments"] = {
    {
      ["name"] = "containerId",
      ["type"] = "number",
      ["values"] = {
        "The first bag slot",
        "The second bag slot",
        "The third bag slot",
        "The fourth bag slot",
        "The first bank bag slot",
        "The second bank bag slot",
        "The third bank bag slot",
        "The fourth bank bag slot",
        "The fifth bank bag slot",
        "The sixth bank bag slot",
        "The seventh bank bag slot",
      },
      ["desc"] = "The container id",
    },
  },
  ["name"] = "ContainerIDToInventoryID",
  ["signature"] = "inventoryId = ContainerIDToInventoryID(containerID)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "inventoryId",
      ["desc"] = "The inventoryId corresponding to the given container",
    },
  },
  ["desc"] = "Returns the inventoryId that corresponds to a given containerId",
}
ConvertToRaid = {
  ["arguments"] = {
  },
  ["name"] = "ConvertToRaid",
  ["signature"] = "ConvertToRaid()",
  ["returns"] = {
  },
  ["desc"] = "Converts a party to a raid.  Does nothing if not in a party or not the party leader.",
}
CreateFont = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["note"] = "An entry in the global variable table will be created with this name as the key, pointing to the newly created object.",
      ["name"] = "name",
      ["desc"] = "The name of the font object to create",
    },
  },
  ["name"] = "CreateFont",
  ["signature"] = "fontObject = CreateFont(\"name\")",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "fontObject",
      ["desc"] = "The newly created font object",
    },
  },
  ["desc"] = "Creates a new font object",
}
CreateFrame = {
  ["arguments"] = {
    {
      ["name"] = "frameType",
      ["type"] = "string",
      ["values"] = {
        ["DressUpModel"] = "A 3D player mesh with functions to dress-up in different items.",
        ["Minimap"] = "A Minimap widget.",
        ["SimpleHTML"] = "A widget to show simple HTML content.",
        ["ScrollingMessageFrame"] = "A widget to show scrolling messages.",
        ["Button"] = "A clickable button widget.",
        ["ScrollFrame"] = "A scrolling frame widget.",
        ["StatusBar"] = "A statusbar widget.",
        ["TabardModel"] = "A 3D mesh used by the tabard frame for designing a new tabard.",
        ["GameTooltip"] = "A tooltip widget.",
        ["EditBox"] = "A editbox widget.",
        ["ColorSelect"] = "A color selection widget used by the color picker frame.",
        ["MessageFrame"] = "A message frame that allows text-fading - used by the UIErrorsFrame.",
        ["CheckButton"] = "A toggle-able button widget.",
        ["Model"] = "A widget to display a real 3D-mesh as part of the UI.",
        ["PlayerModel"] = "A widget to display a 3D player mesh.",
        ["Frame"] = "A simple frame widget.",
        ["Cooldown"] = "A pie-style cooldown animation widget.",
        ["Slider"] = "A simple slider widget.",
      },
      ["desc"] = "The type of the frame to create.",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "name",
      ["desc"] = "The name of the new frame. If given, will also create an entry in the global namespace for the created frame under the specified name.",
    },
    {
      ["type"] = "table",
      ["optional"] = true,
      ["name"] = "parent",
      ["desc"] = "A reference to the parent of the new frame.",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "template",
      ["desc"] = "The name of the template to be used for creating the new frame, or a comma separated list of templates to be used",
    },
  },
  ["name"] = "CreateFrame",
  ["signature"] = "frame = CreateFrame(frameType [, name] [, parent] [, template])",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "frame",
      ["desc"] = "A reference to the newly created frame.",
    },
  },
  ["desc"] = "Creates a new frame object dynamically",
}
CreateMacro = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the new macro.  Names do not need to be unique, but other API functions can be confusing if two macros with the same name exist",
    },
    {
      ["type"] = "number",
      ["name"] = "iconIndex",
      ["desc"] = "The index of the chosen macro icon",
    },
    {
      ["type"] = "string",
      ["name"] = "body",
      ["desc"] = "The body of the macro",
    },
    {
      ["type"] = "1nil",
      ["name"] = "local",
      ["desc"] = "Determines if the macro should be stored locally, or on the server.  This argument is currently unused.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "perCharacter",
      ["desc"] = "1 if the macro should be stored as a character specific macro, otherwise nil",
    },
  },
  ["name"] = "CreateMacro",
  ["signature"] = "index  = CreateMacro(\"name\", iconIndex, \"body\", local, perCharacter)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the newly created macro",
    },
  },
  ["desc"] = "Creates a new macro",
}
CreateMiniWorldMapArrowFrame = {
  ["arguments"] = {
  },
  ["name"] = "CreateMiniWorldMapArrowFrame",
  ["signature"] = "CreateMiniWorldMapArrowFrame(parent)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CreateWorldMapArrowFrame = {
  ["arguments"] = {
  },
  ["name"] = "CreateWorldMapArrowFrame",
  ["signature"] = "CreateWorldMapArrowFrame(parent)",
  ["returns"] = {
  },
  ["desc"] = "",
}
CursorCanGoInSlot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot number on the PaperDollFrame",
    },
  },
  ["name"] = "CursorCanGoInSlot",
  ["signature"] = "canBePlaced = CursorCanGoInSlot(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canBePlaced",
      ["desc"] = "1 if the item on the cursor can be placed in the given inventory slot, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the item on the cursor can be placed in the given slot",
}
CursorHasItem = {
  ["arguments"] = {
  },
  ["name"] = "CursorHasItem",
  ["signature"] = "hasItem = CursorHasItem()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasItem",
      ["desc"] = "1 if the cursor is currently holding an item, otherwise nil",
    },
  },
  ["desc"] = "Indicates if the cursor is currently holding an item",
}
CursorHasMacro = {
  ["arguments"] = {
  },
  ["name"] = "CursorHasMacro",
  ["signature"] = "hasMacro = CursorHasMacro",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasMacro",
      ["desc"] = "1 if the cursor currently holds a macro, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the cursor currently holds a macro",
}
CursorHasMoney = {
  ["arguments"] = {
  },
  ["name"] = "CursorHasMoney",
  ["signature"] = "hasMoney = CursorHasMoney()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasMoney",
      ["desc"] = "1 if the cursor is currently holding money, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the cursor is currently holding money",
}
CursorHasSpell = {
  ["arguments"] = {
  },
  ["name"] = "CursorHasSpell",
  ["signature"] = "hasSpell = CursorHasSpell()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasSpell",
      ["desc"] = "Indicates if there is currently a spell attached to the cursor.",
    },
  },
  ["desc"] = "Returns whether or not the cursor currently holds a spell.",
}
DeclineArenaTeam = {
  ["arguments"] = {
  },
  ["name"] = "DeclineArenaTeam",
  ["signature"] = "DeclineArenaTeam()",
  ["returns"] = {
  },
  ["desc"] = "Declines an arena team invitation",
}
DeclineGroup = {
  ["arguments"] = {
  },
  ["name"] = "DeclineGroup",
  ["signature"] = "DeclineGroup()",
  ["returns"] = {
  },
  ["desc"] = "Declines a group invitation",
}
DeclineGuild = {
  ["arguments"] = {
  },
  ["name"] = "DeclineGuild",
  ["signature"] = "DeclineGuild()",
  ["returns"] = {
  },
  ["desc"] = "Declines an offered guild invitation",
}
DeclineInvite = {
  ["name"] = "DeclineInvite",
  ["signature"] = "DeclineInvite()",
  ["desc"] = "Declines a pending chat channel invitation",
}
DeclineLFGMatch = {
  ["arguments"] = {
  },
  ["name"] = "DeclineLFGMatch",
  ["signature"] = "DeclineLFGMatch()",
  ["returns"] = {
  },
  ["desc"] = "",
}
DeclineLevelGrant = {
  ["name"] = "DeclineLevelGrant",
  ["signature"] = "DeclineLevelGrant()",
  ["desc"] = "Declines a level that has been granted to you",
}
DeclineName = {
  ["name"] = "DeclineName",
  ["signature"] = "DeclineName(\"name\", gender, declensionSet)",
  ["desc"] = "",
}
DeclineQuest = {
  ["arguments"] = {
  },
  ["name"] = "DeclineQuest",
  ["signature"] = "DeclineQuest()",
  ["returns"] = {
  },
  ["desc"] = "Declines a quest.",
}
DeclineResurrect = {
  ["arguments"] = {
  },
  ["name"] = "DeclineResurrect",
  ["signature"] = "DeclineResurrect()",
  ["returns"] = {
  },
  ["desc"] = "Declines a resurrection spell",
}
DelIgnore = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player you wish to remove from your ignore list",
    },
  },
  ["name"] = "DelIgnore",
  ["signature"] = "DelIgnore(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Removes a player from your ignore list",
}
DelMute = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitId to be un-muted",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The full name of a player to be muted",
        },
      },
    },
  },
  ["name"] = "DelMute",
  ["signature"] = "DelMute(\"unit\" or \"fullname\")",
  ["returns"] = {
  },
  ["desc"] = "Removes a voice mute for a given player",
}
DeleteCursorItem = {
  ["arguments"] = {
  },
  ["name"] = "DeleteCursorItem",
  ["signature"] = "DeleteCursorItem()",
  ["returns"] = {
  },
  ["desc"] = "Confirms deletion of the item currently held on the cursor",
}
DeleteFile = {
  ["arguments"] = {
  },
  ["name"] = "DeleteFile",
  ["signature"] = "DeleteFile",
  ["returns"] = {
  },
  ["desc"] = "This is an internal function, calling it gives an \"Access Denied\" error message.",
}
DeleteGMTicket = {
  ["arguments"] = {
  },
  ["name"] = "DeleteGMTicket",
  ["signature"] = "DeleteGMTicket()",
  ["returns"] = {
  },
  ["desc"] = "Abandons the currently pending GM ticket",
}
DeleteInboxItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Inbox item to delete.",
    },
  },
  ["name"] = "DeleteInboxItem",
  ["signature"] = "DeleteInboxItem(index)",
  ["returns"] = {
  },
  ["desc"] = "Deletes the given mail from your inbox.",
}
DeleteMacro = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The macro id. The id of the currently selected macro can be obtained on MacroFrame.selectedMacro.",
    },
  },
  ["name"] = "DeleteMacro",
  ["signature"] = "DeleteMacro(id)",
  ["returns"] = {
  },
  ["desc"] = "Deletes a macro by id",
}
DemoteAssistant = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
  },
  ["name"] = "DemoteAssistant",
  ["signature"] = "DemoteAssistant(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Demotes the given player from raid assistant status",
}
DepositGuildBankMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money to deposit in copper",
    },
  },
  ["name"] = "DepositGuildBankMoney",
  ["signature"] = "DepositGuildBankMoney(money)",
  ["returns"] = {
  },
  ["desc"] = "Deposits money into the guild bank",
}
DescendStop = {
  ["arguments"] = {
  },
  ["name"] = "DescendStop",
  ["signature"] = "DescendStop()",
  ["returns"] = {
  },
  ["desc"] = "Called when the player releases the sit/descend key (while swimming or flying)",
}
DestroyTotem = {
  ["arguments"] = {
    {
      ["values"] = {
        "Fire",
        "Earth",
        "Water",
        "Air",
      },
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The element of the totem you want to destroy",
    },
  },
  ["name"] = "DestroyTotem",
  ["signature"] = "DestroyTotem(slot)",
  ["desc"] = "Destroys the totem of the given element",
}
DisableAddOn = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the addon to disable",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the addon in the addon listing",
    },
  },
  ["name"] = "DisableAddOn",
  ["signature"] = "DisableAddOn(\"name\" or index)",
  ["returns"] = {
  },
  ["desc"] = "Disables an addon by name or index",
}
DisableAllAddOns = {
  ["arguments"] = {
  },
  ["name"] = "DisableAllAddOns",
  ["signature"] = "DisableAllAddOns()",
  ["returns"] = {
  },
  ["desc"] = "Flags all addons as disabled for the current character",
}
DisableSpellAutocast = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "spell",
      ["desc"] = "The name of a pet spell",
    },
  },
  ["name"] = "DisableSpellAutocast",
  ["signature"] = "DisableSpellAutocast(\"spell\")",
  ["returns"] = {
  },
  ["desc"] = "Disables auto-cast for a given pet spell",
}
Dismount = {
  ["arguments"] = {
  },
  ["name"] = "Dismount",
  ["signature"] = "Dismount()",
  ["returns"] = {
  },
  ["desc"] = "Dismounts the player",
}
DisplayChannelOwner = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "channel",
          ["desc"] = "The name of the channel to query",
        },
        {
          ["type"] = "number",
          ["name"] = "channelIndex",
          ["desc"] = "The index of the channel to query",
        },
      },
    },
  },
  ["name"] = "DisplayChannelOwner",
  ["signature"] = "DisplayChannelOwner(\"channel\" or channelIndex)",
  ["returns"] = {
  },
  ["desc"] = "Fires a <cit>CHANNEL_OWNER</cit> event for the given channel",
}
DisplayChannelVoiceOff = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "displayIndex",
      ["desc"] = "The index of a channel in the chat display window.  These indices include the headers that are displayed in this window.",
    },
  },
  ["name"] = "DisplayChannelVoiceOff",
  ["signature"] = "DisplayChannelVoiceOff(displayIndex)",
  ["returns"] = {
  },
  ["desc"] = "Disables voice chat in a given channel",
}
DisplayChannelVoiceOn = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "displayIndex",
      ["desc"] = "The index of a channel in the chat display window.  These indices include the headers that are displayed in this window.",
    },
  },
  ["name"] = "DisplayChannelVoiceOn",
  ["signature"] = "DisplayChannelVoiceOn(displayIndex)",
  ["returns"] = {
  },
  ["desc"] = "Enables voice chat in a given channel",
}
DoEmote = {
  ["arguments"] = {
    {
      ["name"] = "emote",
      ["type"] = "string",
      ["values"] = {
        ["ARG"] = "A list of emotes can be found in ChatFrame.lua.  These tokens are the EMOTE#_TOKEN constants.",
      },
      ["desc"] = "The emote to perform (does not include the '/')",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "target",
      ["desc"] = "Name of a player or NPC to direct the emote at",
    },
  },
  ["name"] = "DoEmote",
  ["signature"] = "DoEmote(\"emote\"[, \"target\"])",
  ["returns"] = {
  },
  ["desc"] = "Executes a preset emote, with optional target",
}
DoReadyCheck = {
  ["arguments"] = {
  },
  ["name"] = "DoReadyCheck",
  ["signature"] = "DoReadyCheck()",
  ["returns"] = {
  },
  ["desc"] = "Perform a ready check",
}
DoTradeSkill = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "repeat",
      ["desc"] = "The number of time to repeat the craft",
    },
  },
  ["name"] = "DoTradeSkill",
  ["signature"] = "DoTradeSkill(index [, repeat])",
  ["returns"] = {
  },
  ["desc"] = "Casts a trade skill, optionally multiple times",
}
DropCursorMoney = {
  ["arguments"] = {
  },
  ["name"] = "DropCursorMoney",
  ["signature"] = "DropCursorMoney()",
  ["returns"] = {
  },
  ["desc"] = "Drops the money currently held to the cursor, returning it to where it was taken from",
}
DropItemOnUnit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitId of the player to drop the item on",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a player to drop the item on",
        },
      },
    },
  },
  ["name"] = "DropItemOnUnit",
  ["signature"] = "DropItemOnUnit(\"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Drops the currently held item on a specific unit",
}
EditMacro = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Macro index number",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Name of the macro to be shown in the UI. Current limit is 16 characters",
    },
    {
      ["type"] = "number",
      ["name"] = "icon",
      ["desc"] = "An iconTextureID from 1 to GetNumMacroIcons()",
    },
    {
      ["type"] = "string",
      ["name"] = "body",
      ["desc"] = "The macro command to be executed. Current limit used is 255 characters",
    },
    {
      ["type"] = "number",
      ["name"] = "local",
      ["desc"] = "Indicates if the macro is stored locally or on the server.  This return value is currently unused",
    },
    {
      ["type"] = "number",
      ["name"] = "perCharacter",
      ["desc"] = "0 for a per account macro, 1 for a per character one",
    },
  },
  ["name"] = "EditMacro",
  ["signature"] = "macroID  = EditMacro(index, \"name\", icon, \"body\", local, perCharacter)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "macroID",
      ["desc"] = "The index of the macro",
    },
  },
  ["desc"] = "Edit Macro command/button",
}
EnableAddOn = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of the addon to be enabled",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the addon to be enabled",
        },
      },
    },
  },
  ["name"] = "EnableAddOn",
  ["signature"] = "EnableAddOn(index or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Enables an addon for the current character",
}
EnableAllAddOns = {
  ["arguments"] = {
  },
  ["name"] = "EnableAllAddOns",
  ["signature"] = "EnableAllAddOns()",
  ["returns"] = {
  },
  ["desc"] = "Enables all addons for the current character (takes effect at the next UI load)",
}
EnableSpellAutocast = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "spell",
      ["desc"] = "The name of a pet spell",
    },
  },
  ["name"] = "EnableSpellAutocast",
  ["signature"] = "EnableSpellAutocast(\"spell\")",
  ["returns"] = {
  },
  ["desc"] = "Enabled auto-cast for a given pet spell",
}
EnumerateFrames = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["optional"] = true,
      ["name"] = "currentFrame",
      ["desc"] = "The current frame to get the next frame, or nil to get the first frame",
    },
  },
  ["name"] = "EnumerateFrames",
  ["signature"] = "nextFrame = EnumerateFrames([currentFrame])",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "nextFrame",
      ["desc"] = "The frame following currentFrame or nil if no more frames exist, or the first frame if nil was passed",
    },
  },
  ["desc"] = "Returns the next frame following the frame passed, or nil if no more frames exist",
}
EnumerateServerChannels = {
  ["arguments"] = {
  },
  ["name"] = "EnumerateServerChannels",
  ["signature"] = "... = EnumerateServerChannels()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of the available server channel names.  For example: \"General\", \"Trade\", \"WorldDefense\", \"GuildRecruitment\", \"LookingForGroup\".",
    },
  },
  ["desc"] = "Returns the available server channel names",
}
EquipCursorItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An inventory slot id",
    },
  },
  ["name"] = "EquipCursorItem",
  ["signature"] = "EquipCursorItem(slot)",
  ["returns"] = {
  },
  ["desc"] = "Attempts to equip the item held on the cursor into a specific inventory slot",
}
EquipItemByName = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "The name of an item to be equipped (can be a partial match)",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "The item link of an item to be equipped",
        },
        {
          ["type"] = "number",
          ["name"] = "itemId",
          ["desc"] = "The item id of an item to be equipped",
        },
      },
    },
  },
  ["name"] = "EquipItemByName",
  ["signature"] = "EquipItemByName(\"itemName\" or \"itemLink\" or itemId)",
  ["returns"] = {
  },
  ["desc"] = "Equips an item by name, item link or item id",
}
EquipPendingItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slotId",
      ["desc"] = "The inventory slot id",
    },
  },
  ["name"] = "EquipPendingItem",
  ["signature"] = "EquipPendingItem(slotId)",
  ["returns"] = {
  },
  ["desc"] = "Confirms equpping a pending bind-on-equip item",
}
ExpandChannelHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of the header in the Chat Channel window.  These indices include the actually channel listings, so the second channel may be at a higher index, depending on how many channels are listed in the first header.",
    },
  },
  ["name"] = "ExpandChannelHeader",
  ["signature"] = "ExpandChannelHeader(id)",
  ["returns"] = {
  },
  ["desc"] = "Collapses a channel header in the chat channel listing",
}
ExpandFactionHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the faction header to collapse",
    },
  },
  ["name"] = "ExpandFactionHeader",
  ["signature"] = "ExpandFactionHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Expands a given faction header",
}
ExpandQuestHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the quest log entry to expand.  If the index supplied is invalid, or not a quest header then this function will instead expand all quest headers. This index is separate from the quest indices such that regardless of how many quests you have showing in the quest log, index 2 will always be the second header.",
    },
  },
  ["name"] = "ExpandQuestHeader",
  ["signature"] = "ExpandQuestHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Expands a quest header in the quest log",
}
ExpandSkillHeader = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill header to expand.",
    },
  },
  ["name"] = "ExpandSkillHeader",
  ["signature"] = "ExpandSkillHeader(index)",
  ["returns"] = {
  },
  ["desc"] = "Expands a skill header in the Skills window",
}
ExpandTradeSkillSubClass = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the tradeskill subclass in the tradeskill window.  If the index specified is a tradeskill item rather than a subclass heading, this function will error.",
    },
  },
  ["name"] = "ExpandTradeSkillSubClass",
  ["signature"] = "ExpandTradeSkillSubClass(index)",
  ["returns"] = {
  },
  ["desc"] = "Expands a tradeskill subclass in the tradeskill window",
}
ExpandTrainerSkillLine = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the line to expand",
    },
  },
  ["name"] = "ExpandTrainerSkillLine",
  ["signature"] = "ExpandTrainerSkillLine(index)",
  ["returns"] = {
  },
  ["desc"] = "Expands a skill line in the trainer window.",
}
FactionToggleAtWar = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The row index of the faction with which to toggle atWar status.",
    },
  },
  ["name"] = "FactionToggleAtWar",
  ["signature"] = "FactionToggleAtWar(index)",
  ["returns"] = {
  },
  ["desc"] = "Toggles the 'at war' status towards a specific faction",
}
FlagTutorial = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "tutorial",
      ["desc"] = "The identifier for the tutorial step",
    },
  },
  ["name"] = "FlagTutorial",
  ["signature"] = "FlagTutorial(\"tutorial\")",
  ["returns"] = {
  },
  ["desc"] = "Flags a tutorial step as already viewed, so it doesn't appears again.",
}
FlipCameraYaw = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "degrees",
      ["desc"] = "The number of degrees to rotate; positive for counter-clockwise, negative for clockwise.",
    },
  },
  ["name"] = "FlipCameraYaw",
  ["signature"] = "FlipCameraYaw(degrees)",
  ["returns"] = {
  },
  ["desc"] = "Rotates the camera around the player",
}
FocusUnit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to focus",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to focus",
        },
      },
    },
  },
  ["name"] = "FocusUnit",
  ["signature"] = "FocusUnit(\"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the given unit as your focus target.  Passing nil will clear your focus.  Can only be called by the blizzard UI.",
}
FollowUnit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitId of the player to follow",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a player to follow",
        },
      },
    },
    {
      ["name"] = "strict",
      ["type"] = "1nil",
      ["values"] = {
        ["1"] = "Match the supplied name exactly",
        ["nil"] = "Parial matches for name are allowed",
      },
      ["desc"] = "Indicates that the name match should be exact",
    },
  },
  ["name"] = "FollowUnit",
  ["signature"] = "FollowUnit(\"unit\" or \"name\" [, strict])",
  ["returns"] = {
  },
  ["desc"] = "Follows a specified player",
}
ForceLogout = {
  ["arguments"] = {
  },
  ["name"] = "ForceLogout",
  ["signature"] = "ForceLogout()",
  ["returns"] = {
  },
  ["desc"] = "Forces the client to logout",
}
ForceQuit = {
  ["arguments"] = {
  },
  ["name"] = "ForceQuit",
  ["signature"] = "ForceQuit()",
  ["returns"] = {
  },
  ["desc"] = "Immediately exits World of Warcraft",
}
FrameXML_Debug = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "enable",
      ["desc"] = "1 if verbose XML logging should be enabled, otherwise nil",
    },
  },
  ["name"] = "FrameXML_Debug",
  ["signature"] = "FrameXML_Debug(enable)",
  ["returns"] = {
  },
  ["desc"] = "Enables or disables verbose XML logging",
}
GMRequestPlayerInfo = {
  ["arguments"] = {
  },
  ["name"] = "GMRequestPlayerInfo",
  ["signature"] = "GMRequestPlayerInfo",
  ["returns"] = {
  },
  ["desc"] = "",
}
GMSurveyAnswerSubmit = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "question",
      ["desc"] = "The index of the question being answered",
    },
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "The rank selected",
    },
    {
      ["type"] = "string",
      ["name"] = "comment",
      ["desc"] = "A comment for the given question",
    },
  },
  ["name"] = "GMSurveyAnswerSubmit",
  ["signature"] = "GMSurveyAnswerSubmit(question, rank, \"comment\")",
  ["returns"] = {
  },
  ["desc"] = "Submits an answer to a GM Survey question",
}
GMSurveyCommentSubmit = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "comment",
      ["desc"] = "The comment made on the GM Survey",
    },
  },
  ["name"] = "GMSurveyCommentSubmit",
  ["signature"] = "GMSurveyCommentSubmit(\"comment\")",
  ["returns"] = {
  },
  ["desc"] = "Submits a comment to the current GM survey",
}
GMSurveyQuestion = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a GM survey question",
    },
  },
  ["name"] = "GMSurveyQuestion",
  ["signature"] = "surveyQuestion  = GMSurveyQuestion(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "surveyQuestion",
      ["desc"] = "The question being asked",
    },
  },
  ["desc"] = "Returns the text of a specific question from a GM survey",
}
GMSurveySubmit = {
  ["arguments"] = {
  },
  ["name"] = "GMSurveySubmit",
  ["signature"] = "GMSurveySubmit()",
  ["returns"] = {
  },
  ["desc"] = "Submits the current GM survey",
}
GetAbandonQuestItems = {
  ["arguments"] = {
  },
  ["name"] = "GetAbandonQuestItems",
  ["signature"] = "items = GetAbandonQuestItems()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "items",
      ["desc"] = "Any items that would be destroyed by abandoning the given quest",
    },
  },
  ["desc"] = "Returns any items that would be destroyed by confirming abandoning the current quest",
}
GetAbandonQuestName = {
  ["arguments"] = {
  },
  ["name"] = "GetAbandonQuestName",
  ["signature"] = "name = GetAbandonQuestName()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the quest being abandoned",
    },
  },
  ["desc"] = "Returns the name of the quest being abandoned",
}
GetAccountExpansionLevel = {
  ["arguments"] = {
  },
  ["name"] = "GetAccountExpansionLevel",
  ["signature"] = "expansionLevel = GetAccountExpansionLevel()",
  ["returns"] = {
    {
      ["name"] = "expansionLevel",
      ["type"] = "number",
      ["values"] = {
        "World of Warcraft: The Burning Crusade",
        [0] = "World of Warcraft",
      },
      ["desc"] = "The expansion level of the player's account",
    },
  },
  ["desc"] = "Returns the expansion level of the player's account",
}
GetActionAutocast = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action slot to check",
    },
  },
  ["name"] = "GetActionAutocast",
  ["signature"] = "autocast1, autocast2 = GetActionAutocast(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "autocast1",
      ["desc"] = "",
    },
    {
      ["type"] = "1nil",
      ["name"] = "autocast2",
      ["desc"] = "",
    },
  },
  ["desc"] = "Returns information about autocast actions",
}
GetActionBarPage = {
  ["arguments"] = {
  },
  ["name"] = "GetActionBarPage",
  ["signature"] = "page = GetActionBarPage()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "page",
      ["desc"] = "The current action bar page",
    },
  },
  ["desc"] = "Returns the current action bar page",
}
GetActionBarToggles = {
  ["arguments"] = {
  },
  ["name"] = "GetActionBarToggles",
  ["signature"] = "showBar1, showBar2, showBar3, showBar4 = GetActionBarToggles()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "showBar1",
      ["desc"] = "1 if the interface option is set to show the Bottom Left ActionBar, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "showBar2",
      ["desc"] = "1 if the interface option is set to show the Bottom Right ActionBar, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "showBar3",
      ["desc"] = "1 if the interface option is set to show the Right ActionBar, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "showBar4",
      ["desc"] = "1 if the interface option is set to show the Right ActionBar 2, otherwise nil",
    },
  },
  ["desc"] = "Returns the current visibility settings for the four secondary action bars",
}
GetActionCooldown = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action slot to query for cooldown information",
    },
  },
  ["name"] = "GetActionCooldown",
  ["signature"] = "start, duration, enable  = GetActionCooldown(slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The value of GetTime() at the moment the cooldown began, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The length of the cooldown, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "enable",
      ["desc"] = "1 if the cooldown is enabled, otherwise 0",
    },
  },
  ["desc"] = "Returns cooldown information about a given action slot",
}
GetActionCount = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action slot to check (1-120)",
    },
  },
  ["name"] = "GetActionCount",
  ["signature"] = "count = GetActionCount(slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of uses left",
    },
  },
  ["desc"] = "Returns the number of uses remaining for the given action slot",
}
GetActionInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An action slot",
    },
  },
  ["name"] = "GetActionInfo",
  ["signature"] = "type, id, subtype = GetActionInfo(slot)",
  ["returns"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        "item",
        "spell",
        "macro",
      },
      ["desc"] = "The type of action bound to the slot",
    },
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The identifier for the spell/macro/item",
    },
    {
      ["type"] = "string",
      ["name"] = "subType",
      ["desc"] = "The subtype of the action, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a given actionbar slot",
}
GetActionText = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action slot to query",
    },
  },
  ["name"] = "GetActionText",
  ["signature"] = "text = GetActionText(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The label for the action slot, or nil",
    },
  },
  ["desc"] = "Returns the label for a given action slot.",
}
GetActionTexture = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "Action ID to query.",
    },
  },
  ["name"] = "GetActionTexture",
  ["signature"] = "texture = GetActionTexture(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "Texture of the slot.",
    },
  },
  ["desc"] = "Returns the texture for the given action slot",
}
GetActiveLevel = {
  ["arguments"] = {
  },
  ["name"] = "GetActiveLevel",
  ["signature"] = "level = GetActiveLevel(index)",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetActiveTitle = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an active quest in the QuestFrame",
    },
  },
  ["name"] = "GetActiveTitle",
  ["signature"] = "title = GetActiveTitle(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "Title of the active quest.",
    },
  },
  ["desc"] = "Returns the name of an active quest in the QuestFrame.",
}
GetActiveVoiceChannel = {
  ["arguments"] = {
  },
  ["name"] = "GetActiveVoiceChannel",
  ["signature"] = "id  = GetActiveVoiceChannel()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The id of the currently active voice channel",
    },
  },
  ["desc"] = "Returns the currently active voice channel",
}
GetAddOnCPUUsage = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of the addon, must be in the range of 1 to GetNumAddOns().",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the addon, as it appears in its folder name.",
        },
      },
    },
  },
  ["name"] = "GetAddOnCPUUsage",
  ["signature"] = "usage = GetAddOnCPUUsage(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "usage",
      ["desc"] = "The amount of CPU time the given addon has used, in milliseconds",
    },
  },
  ["desc"] = "Returns the amount of CPU time used by the given addon, in milliseconds",
}
GetAddOnDependencies = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of the AddOn, must be in the range of 1 to GetNumAddOns().",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the AddOn as it appears in its folder name.",
        },
      },
    },
  },
  ["name"] = "GetAddOnDependencies",
  ["signature"] = "... = GetAddOnDependencies(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A list of all AddOns the queried AddOn depends on.",
    },
  },
  ["desc"] = "Get all dependencies of the queried addon. Returns nil if no dependencies are listed.",
}
GetAddOnInfo = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of the AddOn, must be in the range of 1 to GetNumAddOns().",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the AddOn, as it appears in its folder name.",
        },
      },
    },
  },
  ["name"] = "GetAddOnInfo",
  ["signature"] = "name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the addon",
    },
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "The title of the addon",
    },
    {
      ["type"] = "string",
      ["name"] = "notes",
      ["desc"] = "The value of the \"Notes\" field from the table of contents",
    },
    {
      ["type"] = "1nil",
      ["name"] = "enabled",
      ["desc"] = "1 if the addon is enabled for the current character, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "loadable",
      ["desc"] = "If the addon is capable of being loaded",
    },
    {
      ["type"] = "string",
      ["name"] = "reason",
      ["desc"] = "If the addon isn't loadable, what is the reason",
    },
    {
      ["type"] = "string",
      ["name"] = "security",
      ["desc"] = "\"SECURE\" if the addon is secure, otherwise \"INSECURE\".  A \"secure\" addon is one that is released by Blizzard and is digitally signed",
    },
  },
  ["desc"] = "Returns information about an addon in the client's addon list",
}
GetAddOnMemoryUsage = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of the addon, must be in the range of 1 to GetNumAddons().",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the addon, as it appears in its folder name.",
        },
      },
    },
  },
  ["name"] = "GetAddOnMemoryUsage",
  ["signature"] = "mem = GetAddOnMemoryUsage(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "mem",
      ["desc"] = "The memory usage of the addon, in kilobytes",
    },
  },
  ["desc"] = "Returns the amount of memory used by a given addon",
}
GetAddOnMetadata = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of the AddOn, must be in the range of 1 to GetNumAddOns().",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the AddOn as it appears in its folder name.",
        },
      },
    },
    {
      ["name"] = "variable",
      ["type"] = "string",
      ["values"] = {
        ["Notes"] = "Any notes the author of the AddOn placed into the TOC file",
        ["Title"] = "The title of the AddOn, this defaults to the name of the AddOn as it appears in its folder name",
        ["Author"] = "The author of the AddOn as outlined in the TOC file",
        ["Version"] = "The version string that the author placed in the TOC file",
        ["X-<something>"] = "These are the only custom tags that can be queried, <something> can be anything you want.",
      },
      ["desc"] = "The variable name that you want to query, only a limited number of values are accepted.",
    },
  },
  ["name"] = "GetAddOnMetadata",
  ["signature"] = "data = GetAddOnMetadata(index or \"name\", \"variable\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "data",
      ["desc"] = "The data available in the TOC for the variable queried, or nil if the variable is not queryable or not defined.",
    },
  },
  ["desc"] = "Returns the value of certain fields in an addon's TOC file",
}
GetAdjustedSkillPoints = {
  ["arguments"] = {
  },
  ["name"] = "GetAdjustedSkillPoints",
  ["signature"] = "numPoints = GetAdjustedSkillPoints()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetAreaSpiritHealerTime = {
  ["arguments"] = {
  },
  ["name"] = "GetAreaSpiritHealerTime",
  ["signature"] = "timeleft = GetAreaSpiritHealerTime()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeleft",
      ["desc"] = "Seconds left before the area spirit heal is cast",
    },
  },
  ["desc"] = "Returns the amount of time until a nearby battleground spirit healer resurrects all players in its area.",
}
GetArenaCurrency = {
  ["arguments"] = {
  },
  ["name"] = "GetArenaCurrency",
  ["signature"] = "points = GetArenaCurrency()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "points",
      ["desc"] = "The number of available arena currency points",
    },
  },
  ["desc"] = "Returns the number of available arena currency points",
}
GetArenaTeam = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the arena team.  These are indexed from smallest to largest, with the first team (normally 2v2) being 1.",
    },
  },
  ["name"] = "GetArenaTeam",
  ["signature"] = "teamName, teamSize, teamRating, teamPlayed, teamWins, seasonTeamPlayed, seasonTeamWins, playerPlayed, seasonPlayerPlayed, teamRank, playerRating, bg_red, bg_green, bg_blue, emblem, emblem_red, emblem_green, emblem_blue, border, border_red, border_green, border_blue  = GetArenaTeam(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "teamName",
      ["desc"] = "The name of the arena team",
    },
    {
      ["type"] = "number",
      ["name"] = "teamSize",
      ["desc"] = "The size of the team (2 for 2v2, 3 for 2v2, etc.)",
    },
    {
      ["type"] = "number",
      ["name"] = "teamRating",
      ["desc"] = "The team's rating",
    },
    {
      ["type"] = "number",
      ["name"] = "teamPlayed",
      ["desc"] = "The number of games played in the current arena period",
    },
    {
      ["type"] = "number",
      ["name"] = "teamWins",
      ["desc"] = "The number of games won in the current arena period",
    },
    {
      ["type"] = "number",
      ["name"] = "seasonTeamPlayer",
      ["desc"] = "The number of games played in the current arena season",
    },
    {
      ["type"] = "number",
      ["name"] = "seasonTeamWins",
      ["desc"] = "The number of games won in the current arena season",
    },
    {
      ["type"] = "number",
      ["name"] = "playerPlayed",
      ["desc"] = "The number of games the player has played in the current arena period",
    },
    {
      ["type"] = "number",
      ["name"] = "seasonPlayerPlayed",
      ["desc"] = "The number of games the player has played in the current arena season",
    },
    {
      ["type"] = "number",
      ["name"] = "teamRank",
      ["desc"] = "The current team ranking",
    },
    {
      ["type"] = "number",
      ["name"] = "playerRating",
      ["desc"] = "The player's personal rating",
    },
    {
      ["type"] = "number",
      ["name"] = "bg_red",
      ["desc"] = "The red component color value for the background (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "bg_green",
      ["desc"] = "The green component color value for the background (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "bg_blue",
      ["desc"] = "The blue component color value for the background (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["note"] = "This value is used to determine the specific texture to be shown for the emblem graphic.  The format for the texture path is \"Interface\\PVPFrame\\Icons\\PVP-Banner-Emblem-\"..emblem, where emblem is this return value.",
      ["name"] = "emblem",
      ["desc"] = "The index of the team's emblem graphic",
    },
    {
      ["type"] = "number",
      ["name"] = "emblem_red",
      ["desc"] = "The red component color value for the emblem (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "emblem_green",
      ["desc"] = "The green component color value for the emblem (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "emblem_blue",
      ["desc"] = "The blue component color value for the emblem (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["note"] = "This value is used to determine the specific texture to be shown for the border graphic.  The format for the texture path is \"Interface\\PVPFrame\\PVP-Banner-\"..teamSize..\"-Border-\"..border, where teamSize and border are returns from this function",
      ["name"] = "border",
      ["desc"] = "The index of the team's border graphic",
    },
    {
      ["type"] = "number",
      ["name"] = "border_red",
      ["desc"] = "The red component color value for the border (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "border_green",
      ["desc"] = "The green component color value for the border (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "border_blue",
      ["desc"] = "The blue component color value for the border (0.0-1.0)",
    },
  },
  ["desc"] = "Returns information about one of the player's arena teams.",
}
GetArenaTeamRosterInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the team to query.  Teams are indexed in increasing size from 1 to 3, depending on which teams the player is a member of",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The team roster index to query",
    },
  },
  ["name"] = "GetArenaTeamRosterInfo",
  ["signature"] = "name, rank, level, class, online, played, win, seasonPlayed, seasonWin, rating  = GetArenaTeamRosterInfo(team, index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["name"] = "rank",
      ["type"] = "number",
      ["values"] = {
        "Member",
        [0] = "Team captain",
      },
      ["desc"] = "The rank of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The localized name of the player's class",
    },
    {
      ["type"] = "1nil",
      ["name"] = "online",
      ["desc"] = "1 if the player is online, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "played",
      ["desc"] = "The number of games the player has played this week",
    },
    {
      ["type"] = "number",
      ["name"] = "win",
      ["desc"] = "The number of games the player has won this week",
    },
    {
      ["type"] = "number",
      ["name"] = "seasonPlayed",
      ["desc"] = "The number of games the player has played this season",
    },
    {
      ["type"] = "number",
      ["name"] = "seasonWin",
      ["desc"] = "The number of games the player has won this season",
    },
    {
      ["type"] = "number",
      ["name"] = "rating",
      ["desc"] = "The player's personal rating with this team",
    },
  },
  ["desc"] = "Returns information about an arena team member",
}
GetArenaTeamRosterSelection = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of an arena team",
    },
  },
  ["name"] = "GetArenaTeamRosterSelection",
  ["signature"] = "index = GetArenaTeamRosterSelection(team)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The currently selected arena team member",
    },
  },
  ["desc"] = "Returns the currently selected arena team member for a given team",
}
GetArenaTeamRosterShowOffline = {
  ["arguments"] = {
  },
  ["name"] = "GetArenaTeamRosterShowOffline",
  ["signature"] = "showOffline = GetArenaTeamRosterShowOffline()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "showOffline",
      ["desc"] = "1 if the show offline filter for arena teams is enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the \"Show Offline Members\" filter for arena teams is enabled",
}
GetArmorPenetration = {
  ["name"] = "GetArmorPenetration",
  ["signature"] = "penetration = GetArmorPenetration()",
  ["desc"] = "Returns the player's current armor penetration",
}
GetAttackPowerForStat = {
  ["arguments"] = {
    {
      ["name"] = "statIndex",
      ["type"] = "number",
      ["values"] = {
        "Strength",
        "Agility",
        "Stamina",
        "Intellect",
        "Spirit",
      },
      ["desc"] = "The index of the stat to query",
    },
    {
      ["type"] = "number",
      ["name"] = "effectiveStat",
      ["desc"] = "The value of the stat to use in the attack power calculation",
    },
  },
  ["name"] = "GetAttackPowerForStat",
  ["signature"] = "attackPower = GetAttackPowerForStat(statIndex,effectiveStat)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "attackPower",
      ["desc"] = "The amount of attack power your character would gain from having the given amount of the selected stat",
    },
  },
  ["desc"] = "Calculates the amount of attack power that your current character would gain from having the given value for the specified stat.",
}
GetAuctionHouseDepositRate = {
  ["arguments"] = {
  },
  ["name"] = "GetAuctionHouseDepositRate",
  ["signature"] = "rate = GetAuctionHouseDepositRate()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "rate",
      ["desc"] = "The current auction house deposit rate",
    },
  },
  ["desc"] = "Returns the current auction house deposit rate",
}
GetAuctionInvTypes = {
  ["arguments"] = {
    {
      ["name"] = "classIndex",
      ["type"] = "number",
      ["values"] = {
        [2] = "Armor",
      },
      ["desc"] = "The class index to query.  The only section of the auction house that currently has a third level of drill-down when selecting is \"Armor\" which is classIndex 2",
    },
    {
      ["name"] = "subClassIndex",
      ["type"] = "number",
      ["values"] = {
        "Miscellaneous",
        "Cloth",
        "Leather",
        "Mail",
        "Plate",
      },
      ["desc"] = "The subClass to query.  This corresponds to the indices in the auction house listing, as subclasses for \"Armor\".  The special subclasses \"Shields\", \"Librams\", \"Idols\" and \"Totems\" do not have any sub-inventory types.",
    },
  },
  ["name"] = "GetAuctionInvTypes",
  ["signature"] = "token, display, ... = GetAuctionInvTypes(classIndex, subClassIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "token",
      ["desc"] = "An inventory type token such as INVTYPE_FINGER",
    },
    {
      ["type"] = "1nil",
      ["name"] = "display",
      ["desc"] = "1 if the inventory type should be displayed in the auction house listing for this subcategory.  This is used in the auction house UI to hide inventory types that shoudln't appear under the given subclass (e.g. INVTYPE_TRINKET only shows up under the \"Miscellaneous\" subclass).",
    },
    {
      ["type"] = "vararg",
      ["name"] = "...",
      ["desc"] = "A repeating list of token, display pairs.",
    },
  },
  ["desc"] = "Returns a list of the inventory subtypes for a given auction house item subclass .",
}
GetAuctionItemClasses = {
  ["arguments"] = {
  },
  ["name"] = "GetAuctionItemClasses",
  ["signature"] = "... = GetAuctionItemClasses()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "List of possible auction item classes",
    },
  },
  ["desc"] = "Returns a list of top level item classes used to categorize auction items (e.g. Weapons, Armor, Container, Consumable, Trade Goods, etc.).",
}
GetAuctionItemInfo = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "The auctions the player has placed",
        ["list"] = "The default auction house browse listing",
        ["bidder"] = "The auctions the player has bid on",
      },
      ["desc"] = "The auction listing type to query",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the item in the listing",
    },
  },
  ["name"] = "GetAuctionItemInfo",
  ["signature"] = "name, texture, count, quality, canUse, level, minBid, minIncrement, buyoutPrice, bidAmount, highBidder, owner = GetAuctionItemInfo(\"type\", index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Commmon",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The quality level of the item",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canUse",
      ["desc"] = "1 if the item can be used by the player, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the item",
    },
    {
      ["type"] = "number",
      ["name"] = "minBid",
      ["desc"] = "The minimum bid required, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "minIncrement",
      ["desc"] = "The minimum required incremental bid, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "buyoutPrice",
      ["desc"] = "The buyout price, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "bidAmount",
      ["desc"] = "The current highest bid, or 0 if no one has bid",
    },
    {
      ["type"] = "1nil",
      ["name"] = "highestBidder",
      ["desc"] = "1 if the player is currently the highest bidder, otherwise nil",
    },
    {
      ["type"] = "string",
      ["name"] = "owner",
      ["desc"] = "The owner of the auction",
    },
  },
  ["desc"] = "Returns information about an item up for auction",
}
GetAuctionItemLink = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "The available auctions",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction house listing to query",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the item in the listing",
    },
  },
  ["name"] = "GetAuctionItemLink",
  ["signature"] = "link = GetAuctionItemLink(\"type\", index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "An item link for the given item",
    },
  },
  ["desc"] = "Returns an item link for a given auction item",
}
GetAuctionItemSubClasses = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the Auction Item Class you want to query for Sub-Classes. The number is from 1 to #{GetAuctionItemClasses()}",
    },
  },
  ["name"] = "GetAuctionItemSubClasses",
  ["signature"] = "... = GetAuctionItemSubClasses(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of the sub classes attached to the queried auction class, or nil for classes which have no subclasses.",
    },
  },
  ["desc"] = "Returns a list of subclasses that are valid for a specific auction item class (e.g. One-Handed Axes, Two-Handed Axes, Bows, Guns under Weapons; Miscellaneous, Cloth, Leather and others under Amor, etc.).",
}
GetAuctionItemTimeLeft = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions available for purchase",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction listing",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the auction",
    },
  },
  ["name"] = "GetAuctionItemTimeLeft",
  ["signature"] = "duration  = GetAuctionItemTimeLeft(\"type\", index)",
  ["returns"] = {
    {
      ["name"] = "duration",
      ["type"] = "number",
      ["values"] = {
        "Short time (less than 30 minutes)",
        "Medium time (30 minutes to 2 hours)",
        "Long time (2 hours to 12 hours)",
        "Very Long time (more than 12 hours)",
      },
      ["desc"] = "The amount of time left on the current auction",
    },
  },
  ["desc"] = "Returns the time left for a given auction listing",
}
GetAuctionSellItemInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetAuctionSellItemInfo",
  ["signature"] = "name, texture, count, quality, canUse, price  = GetAuctionSellItemInfo()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the icon texture for the item",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Commmon",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The quality level of the item",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canUse",
      ["desc"] = "1 if the item can be used by the player, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "price",
      ["desc"] = "How much the item would sell for to a vendor",
    },
  },
  ["desc"] = "Returns information about the item being placed on auction",
}
GetAuctionSort = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions available for bidding/purchase",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction listing",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an auction sort entry",
    },
  },
  ["name"] = "GetAuctionSort",
  ["signature"] = "existingSortColumn, existingSortReverse = GetAuctionSort(\"type\", \"index\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "existingSortColumn",
      ["desc"] = "The column to sort by",
    },
    {
      ["type"] = "1nil",
      ["name"] = "existingSortReverse",
      ["desc"] = "1 if the sort on the existing column is reversed, otherwise nil",
    },
  },
  ["desc"] = "Returns ",
}
GetAvailableLevel = {
  ["arguments"] = {
  },
  ["name"] = "GetAvailableLevel",
  ["signature"] = "level = GetAvailableLevel(index)",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetAvailableTitle = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the quest to query.",
    },
  },
  ["name"] = "GetAvailableTitle",
  ["signature"] = "title = GetAvailableTitle(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "The title of the quest.",
    },
  },
  ["desc"] = "Queries the title of the selected available quest at a quest NPC.",
}
GetBagName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "A bag index",
    },
  },
  ["name"] = "GetBagName",
  ["signature"] = "name = GetBagName(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the bag, or nil",
    },
  },
  ["desc"] = "Returns the name of a bag",
}
GetBankSlotCost = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the bank slot",
    },
  },
  ["name"] = "GetBankSlotCost",
  ["signature"] = "cost = GetBankSlotCost(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cost",
      ["desc"] = "The cost of the bank slot, in copper",
    },
  },
  ["desc"] = "Returns the cost of a bank slot.",
}
GetBaseMip = {
  ["arguments"] = {
  },
  ["name"] = "GetBaseMip",
  ["signature"] = "baseMip = GetBaseMip()",
  ["returns"] = {
    {
      ["name"] = "baseMip",
      ["type"] = "number",
      ["values"] = {
        "High texture resolution",
        [0] = "Low texture resolution",
      },
      ["desc"] = "The level of texture resolution rendered by the client",
    },
  },
  ["desc"] = "Returns the level of texture resolution rendered by the client",
}
GetBattlefieldArenaFaction = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldArenaFaction",
  ["signature"] = "GetBattlefieldArenaFaction()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetBattlefieldEstimatedWaitTime = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the battleground or arena as listed in the tooltip for the minimap battle status icon",
    },
  },
  ["name"] = "GetBattlefieldEstimatedWaitTime",
  ["signature"] = "waitTime = GetBattlefieldEstimatedWaitTime(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "waitTime",
      ["desc"] = "The estimated wait time in milliseconds.",
    },
  },
  ["desc"] = "Returns the estimated wait time on a battleground or arena queue",
}
GetBattlefieldFlagPosition = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Index of the flag between 1 and GetNumBattlefieldFlagPositions()",
    },
  },
  ["name"] = "GetBattlefieldFlagPosition",
  ["signature"] = "flagX, flagY, flagToken  = GetBattlefieldFlagPosition(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "flagX",
      ["desc"] = "X location of the flag between 0 and 1",
    },
    {
      ["type"] = "number",
      ["name"] = "flagY",
      ["desc"] = "Y location of the flag between 0 and 1",
    },
    {
      ["type"] = "string",
      ["name"] = "flagToken",
      ["desc"] = "Type of flag",
    },
  },
  ["desc"] = "Returns positioning information on the given flag",
}
GetBattlefieldInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldInfo",
  ["signature"] = "mapName, mapDescription, minLevel, maxLevel, mapID, mapX, mapY, minBracket, maxBracket = GetBattlefieldInfo()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "mapName",
      ["desc"] = "The name of the map",
    },
    {
      ["type"] = "string",
      ["name"] = "mapDescription",
      ["desc"] = "The description of the map",
    },
    {
      ["type"] = "number",
      ["name"] = "minLevel",
      ["desc"] = "The minimum level required to enter the battleground",
    },
    {
      ["type"] = "number",
      ["name"] = "maxLevel",
      ["desc"] = "The maximum level allowed in the battleground",
    },
    {
      ["type"] = "number",
      ["name"] = "mapID",
      ["desc"] = "Currently unused; always returns -1",
    },
    {
      ["type"] = "number",
      ["name"] = "mapX",
      ["desc"] = "Currently unused; returns 0 for most battlegrounds.",
    },
    {
      ["type"] = "number",
      ["name"] = "mapY",
      ["desc"] = "Currently unused; returns 0 for most battlegrounds.",
    },
    {
      ["type"] = "number",
      ["name"] = "minBracket",
      ["desc"] = "The minimum level allowed in this battlefield's bracket",
    },
    {
      ["type"] = "number",
      ["name"] = "maxBracket",
      ["desc"] = "The maximum level allowed in this battlefield's bracket",
    },
  },
  ["desc"] = "Returns information about a battleground when speaking to a battlemaster NPC or attempting to enter a battleground instance portal",
}
GetBattlefieldInstanceExpiration = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldInstanceExpiration",
  ["signature"] = "timeLeft = GetBattlefieldInstanceExpiration()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeLeft",
      ["desc"] = "If in a battleground after a finished match, the amount of time remaining (in milliseconds) before the instance shuts down; otherwise 0.",
    },
  },
  ["desc"] = "When a battleground match is over, returns the amount of time remaining before the instance is closed and all players are returned to the locations from which they entered it.",
}
GetBattlefieldInstanceInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index in the battleground instance listing (with 1 corresponding to the first actual instance shown in the list after \"First Available\").",
    },
  },
  ["name"] = "GetBattlefieldInstanceInfo",
  ["signature"] = "instanceID = GetBattlefieldInstanceInfo(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "instanceID",
      ["desc"] = "The instance ID that corresponds to the given index",
    },
  },
  ["desc"] = "Returns a numeric ID for a battleground instance listed in the battleground instance selection window.",
}
GetBattlefieldInstanceRunTime = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldInstanceRunTime",
  ["signature"] = "time = GetBattlefieldInstanceRunTime()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "time",
      ["desc"] = "The number of milliseconds since the currently battleground instance started.  This number can be converted to seconds by dividing by 1000, or converted to a text string by using SecondsToTime(GetBattlefieldInstanceRunTime()/1000).",
    },
  },
  ["desc"] = "Returns how long the current battleground instance has been running in milliseconds",
}
GetBattlefieldMapIconScale = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldMapIconScale",
  ["signature"] = "scale = GetBattlefieldMapIconScale()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "scale",
      ["desc"] = "The scale of the map icons from 0 to 1",
    },
  },
  ["desc"] = "Returns the scale of the battleground map icons",
}
GetBattlefieldPortExpiration = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the battleground or arena as listed in the tooltip for the minimap battle status icon.",
    },
  },
  ["name"] = "GetBattlefieldPortExpiration",
  ["signature"] = "expiration = GetBattlefieldPortExpiration(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "expiration",
      ["desc"] = "Time until your invitation expires (in milliseconds)",
    },
  },
  ["desc"] = "Returns the time left on a battleground or arena invitation",
}
GetBattlefieldPosition = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Player index between 1 and GetNumBattlefieldPositions()",
    },
  },
  ["name"] = "GetBattlefieldPosition",
  ["signature"] = "x, y, name  = GetBattlefieldPosition(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "x",
      ["desc"] = "Position on the map between 0 and 1",
    },
    {
      ["type"] = "number",
      ["name"] = "y",
      ["desc"] = "Position on the map between 0 and 1",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Name of the player on the map",
    },
  },
  ["desc"] = "Returns information on the queried players position in a battleground",
}
GetBattlefieldScore = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the row in the battlefield score data",
    },
  },
  ["name"] = "GetBattlefieldScore",
  ["signature"] = "name, killingBlows, honorableKills, deaths, honorGained, faction, rank, race, class, classToken, damageDone, healingDone  = GetBattlefieldScore(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "killingBlows",
      ["desc"] = "The number of killing blows gained in the battlefield",
    },
    {
      ["type"] = "number",
      ["name"] = "honorableKills",
      ["desc"] = "The number of honorable kills gained in the battlefield",
    },
    {
      ["type"] = "number",
      ["name"] = "deaths",
      ["desc"] = "The number of deaths the player had during the battlefield",
    },
    {
      ["type"] = "number",
      ["name"] = "honorGained",
      ["desc"] = "The amount of honor gained during the battlefield",
    },
    {
      ["name"] = "faction",
      ["type"] = "number",
      ["values"] = {
        "Alliance (Battleground) / Gold Team (Arena)",
        [0] = "Horde (Battleground) / Green Team (Arena)",
      },
      ["desc"] = "The faction of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "Deprecated; always 0",
    },
    {
      ["type"] = "string",
      ["name"] = "race",
      ["desc"] = "The player's class",
    },
    {
      ["type"] = "string",
      ["name"] = "classToken",
      ["desc"] = "The path to the classes icon's texture",
    },
    {
      ["type"] = "number",
      ["name"] = "damageDone",
      ["desc"] = "The amount of damage done in the battlefield",
    },
    {
      ["type"] = "number",
      ["name"] = "healingDone",
      ["desc"] = "The amount of healing done in the battlefield",
    },
  },
  ["desc"] = "Returns information about a specific line in the battleground or arena score list",
}
GetBattlefieldStatData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "playerIndex",
      ["desc"] = "The index of the player whose stat you want to retrieve",
    },
    {
      ["type"] = "number",
      ["name"] = "statIndex",
      ["desc"] = "The column index of the stat you want to retrieve",
    },
  },
  ["name"] = "GetBattlefieldStatData",
  ["signature"] = "columnData = GetBattlefieldStatData(playerIndex, statIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "columnData",
      ["desc"] = "The requested data. nil if either the playerIndex or statIndex are invalid.",
    },
  },
  ["desc"] = "Returns battleground-specific statistics for a given player",
}
GetBattlefieldStatInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldStatInfo",
  ["signature"] = "text, icon, tooltip  = GetBattlefieldStatInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The name of the column",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the stat's icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "tooltip",
      ["desc"] = "The text to be displayed in the tooltip on mouseover",
    },
  },
  ["desc"] = "Used to retrieve a list of custom scoreboard columns inside a battleground",
}
GetBattlefieldStatus = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the battleground or arena as listed in the tooltip for the minimap battle status icon.",
    },
  },
  ["name"] = "GetBattlefieldStatus",
  ["signature"] = "status, mapName, instanceID, levelRangeMin, levelRangeMax, teamSize, registeredMatch = GetBattlefieldStatus(index)",
  ["returns"] = {
    {
      ["name"] = "status",
      ["type"] = "string",
      ["values"] = {
        ["confirm"] = "The player currently has a slot for this battlefield, and may choose to join it",
        ["queued"] = "The player is queuing for this battlefield",
        ["active"] = "The player is currently playing in this battlefield",
      },
      ["desc"] = "The status of the battlefield",
    },
    {
      ["type"] = "string",
      ["name"] = "mapName",
      ["desc"] = "The name of the battlefield (such as \"Alterac Valley\", or \"All Arenas\" for arena battlefields)",
    },
    {
      ["type"] = "number",
      ["name"] = "instanceID",
      ["desc"] = "The battlefield instance assigned to you or the instance you are queuing for, or 0 if you are queuing for all instances",
    },
    {
      ["type"] = "number",
      ["name"] = "levelRangeMin",
      ["desc"] = "The minimum level to queue for this battlefield instance",
    },
    {
      ["type"] = "number",
      ["name"] = "levelRangeMax",
      ["desc"] = "The maximum level to queue for this battlefield instance",
    },
    {
      ["name"] = "teamSize",
      ["type"] = "number",
      ["values"] = {
        [0] = "Not an arena",
        [2] = "2v2 Arena",
        [3] = "3v3 Arena",
        [5] = "5v5 Arena",
      },
      ["desc"] = "The number of players on each team for arenas, and 0 for non-arenas",
    },
    {
      ["type"] = "number",
      ["name"] = "registeredMatch",
      ["desc"] = "1 if the battlefield is rated (i.e. rated arena matches), 0 otherwise",
    },
  },
  ["desc"] = "Returns information about an active or queued battleground instance",
}
GetBattlefieldTeamInfo = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Gold Team",
        ["0"] = "Green Team",
      },
      ["desc"] = "Team Index",
    },
  },
  ["name"] = "GetBattlefieldTeamInfo",
  ["signature"] = "teamName, teamRating, newTeamRating  = GetBattlefieldTeamInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "teamName",
      ["desc"] = "Team Name",
    },
    {
      ["type"] = "number",
      ["name"] = "teamRating",
      ["desc"] = "Rating the team started this match with.",
    },
    {
      ["type"] = "number",
      ["name"] = "newTeamRating",
      ["desc"] = "Rating for the team after this match.",
    },
  },
  ["desc"] = "Returns info about teams and their ratings in a rated arena match.",
}
GetBattlefieldTimeWaited = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a battleground or arena as listed in the tooltip for the minimap battle status icon.",
    },
  },
  ["name"] = "GetBattlefieldTimeWaited",
  ["signature"] = "timeInQueue = GetBattlefieldTimeWaited(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeInQueue",
      ["desc"] = "The amount of time the player has been in a queue for the given battlefield, in milliseconds",
    },
  },
  ["desc"] = "Returns the amount of time the player has queued for the given battleground, in milliseconds",
}
GetBattlefieldWinner = {
  ["arguments"] = {
  },
  ["name"] = "GetBattlefieldWinner",
  ["signature"] = "winner = GetBattlefieldWinner()",
  ["returns"] = {
    {
      ["name"] = "wWinner",
      ["type"] = "number",
      ["values"] = {
        "Alliance (Battleground)/Gold Team (Arena)",
        [0] = "Horde (Battleground)/Green Team (Arena)",
      },
      ["desc"] = "The index of the winning team, or nil if not in a match or the match is not yet over.",
    },
  },
  ["desc"] = "Returns the winner of the current battleground or arena match",
}
GetBidderAuctionItems = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "page",
      ["desc"] = "The page number to retrieve bidding data for, or all pages if nil",
    },
  },
  ["name"] = "GetBidderAuctionItems",
  ["signature"] = "GetBidderAuctionItems([page])",
  ["returns"] = {
  },
  ["desc"] = "Retrieves bidding data for items you are bidding on",
}
GetBillingTimeRested = {
  ["arguments"] = {
  },
  ["name"] = "GetBillingTimeRested",
  ["signature"] = "time = GetBillingTimeRested()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "time",
      ["desc"] = "Minutes of rest required for full xp.",
    },
  },
  ["desc"] = "Returns the number of minutes offline required for full xp.",
}
GetBindLocation = {
  ["arguments"] = {
  },
  ["name"] = "GetBindLocation",
  ["signature"] = "location = GetBindLocation()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "location",
      ["desc"] = "The current value of the Hearthstone bind location",
    },
  },
  ["desc"] = "Returns the value of the Hearthstone bind location",
}
GetBinding = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index in the key bindings window (headings are included)",
    },
  },
  ["name"] = "GetBinding",
  ["signature"] = "commandName, binding1, binding2  = GetBinding(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "commandName",
      ["desc"] = "The name of the command, used in the key binding functions",
    },
    {
      ["type"] = "string",
      ["name"] = "binding1",
      ["desc"] = "The primary key binding for the command, or nil",
    },
    {
      ["type"] = "string",
      ["name"] = "binding2",
      ["desc"] = "The secondary key binding for the command, or nil",
    },
  },
  ["desc"] = "Returns information about a key binding.",
}
GetBindingAction = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key or key combination to query (e.g. \"CTRL-2\")",
    },
    {
      ["type"] = "boolean",
      ["optional"] = true,
      ["name"] = "checkOverride",
      ["desc"] = "Set to 1 or true if override bindings should be checked as well (defaults to false)",
    },
  },
  ["name"] = "GetBindingAction",
  ["signature"] = "action = GetBindingAction(\"key\" [, checkOverride])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "action",
      ["desc"] = "The action associated with the given key, or an empty string if no action was found",
    },
  },
  ["desc"] = "Returns the action associated with the given key",
}
GetBindingByKey = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key or key combination to query (e.g. \"CTRL-2\")",
    },
  },
  ["name"] = "GetBindingByKey",
  ["signature"] = "action = GetBindingByKey(\"key\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "action",
      ["desc"] = "The action currently bound to the key combination",
    },
  },
  ["desc"] = "Returns the actions bound to a specific key combination",
}
GetBindingKey = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "COMMAND",
      ["desc"] = "The name of a binding command to query",
    },
  },
  ["name"] = "GetBindingKey",
  ["signature"] = "key1, ... = GetBindingKey(\"COMMAND\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "key1",
      ["desc"] = "The primary key combination bound to this command",
    },
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of the other key combinations bound to this command.  Although the default user interface only allows two combinations to be bound to a command, more than two can be set via the API.  This function returns all known combinations for the given command.",
    },
  },
  ["desc"] = "Returns the key combinations for a given binding command",
}
GetBlockChance = {
  ["arguments"] = {
  },
  ["name"] = "GetBlockChance",
  ["signature"] = "chance = GetBlockChance()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "chance",
      ["desc"] = "Percentage chance to block",
    },
  },
  ["desc"] = "Returns your block percentage.",
}
GetBonusBarOffset = {
  ["arguments"] = {
  },
  ["name"] = "GetBonusBarOffset",
  ["signature"] = "offset = GetBonusBarOffset()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "offset",
      ["desc"] = "The offset amount that should be used for the bonus action bar.",
    },
  },
  ["desc"] = "Returns the bar offset for the bonus bar.",
}
GetBuildInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetBuildInfo",
  ["signature"] = "version, internalVersion, date = GetBuildInfo()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "version",
      ["desc"] = "The version number of the client (such as 2.3.0)",
    },
    {
      ["type"] = "string",
      ["name"] = "internalVersion",
      ["desc"] = "The internal version number of the client (such as 7561)",
    },
    {
      ["type"] = "string",
      ["name"] = "date",
      ["desc"] = "The release date of the client (such as Nov 8 2007)",
    },
  },
  ["desc"] = "Returns the version information about the client",
}
GetBuybackItemInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot in the merchant buyback window",
    },
  },
  ["name"] = "GetBuybackItemInfo",
  ["signature"] = "name, texture, price, quantity, numAvailable, isUsable = GetBuybackItemInfo(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "price",
      ["desc"] = "The price of the item, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "quantity",
      ["desc"] = "The number of items per stack",
    },
    {
      ["type"] = "number",
      ["name"] = "numAvailable",
      ["desc"] = "The number of items available for purchase",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is usable, otherwise nil",
    },
  },
  ["desc"] = "Returns information about an item in the merchant buyback window",
}
GetBuybackItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of a slot in the vendor buyback window",
    },
  },
  ["name"] = "GetBuybackItemLink",
  ["signature"] = "link = GetBuybackItemLink(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link for the item in the given buyback slot",
    },
  },
  ["desc"] = "Returns the item link for an item in the buyback window",
}
GetCVar = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of a configuration variable.  If an invalid CVar is passed to this function, it will cause a Lua error.",
    },
  },
  ["name"] = "GetCVar",
  ["signature"] = "value = GetCVar(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "any",
      ["name"] = "value",
      ["desc"] = "The stored value",
    },
  },
  ["desc"] = "Returns the value of a stored configuration variable",
}
GetCVarAbsoluteMax = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to query",
    },
  },
  ["name"] = "GetCVarAbsoluteMax",
  ["signature"] = "max = GetCVarAbsoluteMax(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "min",
      ["desc"] = "The absolute maximum value allowed for the given CVar",
    },
  },
  ["desc"] = "Returns the absolute maximum value allowed for a given CVar",
}
GetCVarAbsoluteMin = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to query",
    },
  },
  ["name"] = "GetCVarAbsoluteMin",
  ["signature"] = "min = GetCVarAbsoluteMin(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "min",
      ["desc"] = "The absolute minimum value allowed for the given CVar",
    },
  },
  ["desc"] = "Returns the absolute minimum value allowed for a given CVar",
}
GetCVarBool = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to query",
    },
  },
  ["name"] = "GetCVarBool",
  ["signature"] = "value = GetCVarBool(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "value",
      ["desc"] = "1 if the given CVar is set to \"1\", otherwise nil",
    },
  },
  ["desc"] = "Returns the value of the CVar as 1 or nil instead of requiring you to compare the cvar value with \"0\" or \"1\"",
}
GetCVarDefault = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "CVar",
      ["desc"] = "CVar to query.",
    },
  },
  ["name"] = "GetCVarDefault",
  ["signature"] = "value = GetCVarDefault(\"CVar\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "value",
      ["desc"] = "Default value of the CVar",
    },
  },
  ["desc"] = "Query the default value for a given CVar. Will error if CVar does not exist.",
}
GetCVarInfo = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to query",
    },
  },
  ["name"] = "GetCVarInfo",
  ["signature"] = "name, defaultValue, serverStoredAccountWide, serverStoredPerCharacter = GetCVarInfo(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "value",
      ["desc"] = "The current value of the CVar",
    },
    {
      ["type"] = "string",
      ["name"] = "defaultValue",
      ["desc"] = "The default value of the CVar",
    },
    {
      ["type"] = "1nil",
      ["name"] = "serverStoredAccountWide",
      ["desc"] = "1 if the CVar is stored on the server, per account",
    },
    {
      ["type"] = "1nil",
      ["name"] = "serverStoredPerCharacter",
      ["desc"] = "1 if the CVar is stored on the server, per character",
    },
  },
  ["desc"] = "Returns information about the named CVar",
}
GetCVarMax = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to query",
    },
  },
  ["name"] = "GetCVarMax",
  ["signature"] = "max = GetCVarMax(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "max",
      ["desc"] = "The maximum value allowed for the given CVar",
    },
  },
  ["desc"] = "Returns the maximum value allowed for a given CVar",
}
GetCVarMin = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to query",
    },
  },
  ["name"] = "GetCVarMin",
  ["signature"] = "min = GetCVarMin(\"cvar\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "min",
      ["desc"] = "The minimum value allowed for the given CVar",
    },
  },
  ["desc"] = "Returns the minimum value allowed for a given CVar",
}
GetChannelDisplayInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the channel in the channel window",
    },
  },
  ["name"] = "GetChannelDisplayInfo",
  ["signature"] = "name, header, collapsed, channelNumber, count, active, category, voiceEnabled, voiceActive = GetChannelDisplayInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "1nil",
      ["name"] = "header",
      ["desc"] = "1 if the entry is a channel header, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "collapsed",
      ["desc"] = "1 if the entry is a channel header, and the header is collapsed, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "channelNumber",
      ["desc"] = "The number of the channel.  This corresponds to the slash commands used to talk in a channel.  If the channel doesn't a number, this returns nil",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of members of the channel",
    },
    {
      ["type"] = "1nil",
      ["name"] = "active",
      ["desc"] = "1 if the channel is active, otherwise nil.  This is primarily used for the special \"Trade\" and \"LookingForGroup\" channels, since they are inactive when the player is not in a major city",
    },
    {
      ["name"] = "category",
      ["type"] = "string",
      ["values"] = {
        ["CHANNEL_CATEGORY_GROUP"] = "Group channels (party, raid, battleground)",
        ["CHANNEL_CATEGORY_WORLD"] = "World channels (General, Trade, etc.)",
        ["CHANNEL_CATEGORY_CUSTOM"] = "Custo channels created by playersm",
      },
      ["desc"] = "The category the chat channel belongs to",
    },
    {
      ["type"] = "1nil",
      ["name"] = "voiceEnabled",
      ["desc"] = "1 if voice chat is enabled for the given channel, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "voiceActive",
      ["desc"] = "1 if voice chat is active for the given channel, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a given chat channel",
}
GetChannelList = {
  ["arguments"] = {
  },
  ["name"] = "GetChannelList",
  ["signature"] = "channel, index, ... = GetChannelList()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the channel",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A list of results",
    },
  },
  ["desc"] = "Returns the list of channels the player currently belongs to",
}
GetChannelName = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "channelIndex",
          ["desc"] = "A channel ID",
        },
        {
          ["type"] = "string",
          ["name"] = "channelName",
          ["desc"] = "A channel name",
        },
      },
    },
  },
  ["name"] = "GetChannelName",
  ["signature"] = "channel, channelName, instanceID = GetChannelName(channelIndex or \"channelName\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "channel",
      ["desc"] = "The ID of the channel.",
    },
    {
      ["type"] = "string",
      ["name"] = "channelName",
      ["desc"] = "The name of the channel.",
    },
    {
      ["type"] = "number",
      ["name"] = "instanceID",
      ["desc"] = "The channel's instance ID, or 0 if there are not separate instances of the channel.",
    },
  },
  ["desc"] = "Returns information about a given chat channel.",
}
GetChannelRosterInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of the channel the query",
    },
    {
      ["type"] = "number",
      ["name"] = "rosterIndex",
      ["desc"] = "The index of the player in the given channel",
    },
  },
  ["name"] = "GetChannelRosterInfo",
  ["signature"] = "name, owner, moderator, muted, active, enabled = GetChannelRosterInfo(id, rosterIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["type"] = "1nil",
      ["name"] = "owner",
      ["desc"] = "1 if the player is the channel owner, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "moderator",
      ["desc"] = "1 if the player is the channel moderator, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "muted",
      ["desc"] = "1 if the player is muted, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "active",
      ["desc"] = "1 if the player is currently speaking in the channel, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "enabled",
      ["desc"] = "1 if the player has voice chat enabled in the channel, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a user in a given channel",
}
GetChatTypeIndex = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["examples"] = {
        ["MONSTER_YELL"] = "Monster yells",
        ["PARTY"] = "Messages sent in party chat",
        ["AFK"] = "AFK response messages",
      },
      ["desc"] = "A string indicating the chat type to be converted.  This is the key in the table ChatTypeInfo.",
    },
  },
  ["name"] = "GetChatTypeIndex",
  ["signature"] = "index  = GetChatTypeIndex(\"type\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The type index of the given chat type",
    },
  },
  ["desc"] = "Converts a chat type string to a numeric chat type index.",
}
GetChatWindowChannels = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat frame to query",
    },
  },
  ["name"] = "GetChatWindowChannels",
  ["signature"] = "channeName, channelId, ... = GetChatWindowChannels(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "channelName",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "number",
      ["name"] = "channelId",
      ["desc"] = "A numeric id for the given channel",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A repeating list of channelName, channelId pairs, for each channel belonging to a given chat window",
    },
  },
  ["desc"] = "Returns a list of all channels that a given chat window is interested in",
}
GetChatWindowInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Index of the window you wish you get information on (starts at 1)",
    },
  },
  ["name"] = "GetChatWindowInfo",
  ["signature"] = "name, fontSize, r, g, b, a, shown, locked, docked = GetChatWindowInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Name of the Chat window",
    },
    {
      ["type"] = "number",
      ["name"] = "fontSize",
      ["desc"] = "Font size of the text in Chat window",
    },
    {
      ["type"] = "number",
      ["name"] = "r",
      ["desc"] = "The red component of the window's background color [0.0, 1.0]",
    },
    {
      ["type"] = "number",
      ["name"] = "g",
      ["desc"] = "The green component of the window's background color [0.0, 1.0]",
    },
    {
      ["type"] = "number",
      ["name"] = "b",
      ["desc"] = "The blue component of the window's background color [0.0, 1.0]",
    },
    {
      ["type"] = "number",
      ["name"] = "alpha",
      ["desc"] = "The alpha level (opacity) of the window's background [0.0, 1.0]",
    },
    {
      ["type"] = "number",
      ["name"] = "shown",
      ["desc"] = "Returns 1 if the window is shown, 0 if it is hidden",
    },
    {
      ["type"] = "number",
      ["name"] = "locked",
      ["desc"] = "Returns 1 if the window is locked, 0 if it is movable",
    },
    {
      ["type"] = "number",
      ["name"] = "docked",
      ["desc"] = "Returns 1 if the window is docked, 0 if free",
    },
  },
  ["desc"] = "Retrieves information about a specific Chat window",
}
GetChatWindowMessages = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Chat frame index.",
    },
  },
  ["name"] = "GetChatWindowMessages",
  ["signature"] = "... = GetChatWindowMessages(index)",
  ["returns"] = {
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "List of message types.",
    },
  },
  ["desc"] = "Returns a list of message events (leaving the CHAT_MSG_ part out) a given chatframe is registered for.",
}
GetCoinIcon = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "Amount of money in copper",
    },
  },
  ["name"] = "GetCoinIcon",
  ["signature"] = "icon = GetCoinIcon(amount)",
  ["returns"] = {
    {
      ["name"] = "icon",
      ["type"] = "string",
      ["values"] = {
        ["Interface\\Icons\\INV_Misc_Coin_06"] = "Silver",
        ["Interface\\Icons\\INV_Misc_Coin_04"] = "Copper",
        ["Interface\\Icons\\INV_Misc_Coin_02"] = "Gold",
      },
      ["desc"] = "Texture path for the icon corresponding to the largest coin for the given amount",
    },
  },
  ["desc"] = "Returns a texture path for an icon depending on the amount passed.",
}
GetCoinText = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "Amount of money in copper",
    },
    {
      ["type"] = "string",
      ["name"] = "separator",
      ["desc"] = "Character to use as separator (',' is used if nil)",
    },
  },
  ["name"] = "GetCoinText",
  ["signature"] = "",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "coin_text",
      ["desc"] = "Text description of the amount using localized version of 'Gold', 'Silver' and 'Copper'",
    },
  },
  ["desc"] = "Return a localized string describing the amount.",
}
GetCombatRating = {
  ["arguments"] = {
    {
      ["name"] = "ratingIndex",
      ["type"] = "number",
      ["values"] = {
        ["CR_HIT_TAKEN_MELEE"] = "Unknown",
        ["CR_CRIT_RANGED"] = "Ranged critical strike chance",
        ["CR_WEAPON_SKILL"] = "Weapon skill",
        ["CR_HASTE_SPELL"] = "Spell haste",
        ["CR_DODGE"] = "Dodge skill",
        ["CR_BLOCK"] = "Block skill",
        ["CR_HIT_TAKEN_RANGED"] = "Unknown",
        ["CR_WEAPON_SKILL_MAINHAND"] = "Main-hand weapon skill",
        ["CR_WEAPON_SKILL_OFFHAND"] = "Offhand weapon skill",
        ["CR_HASTE_RANGED"] = "Ranged haste",
        ["CR_HIT_MELEE"] = "Melee chance to hit",
        ["CR_WEAPON_SKILL_RANGED"] = "Ranged weapon skill",
        ["CR_CRIT_MELEE"] = "Melee critical strike chance",
        ["CR_HASTE_MELEE"] = "Melee haste",
        ["CR_DEFENSE_SKILL"] = "Defense skill",
        ["CR_CRIT_TAKEN_SPELL"] = "Unknown",
        ["CR_HIT_SPELL"] = "Spell chance to hit",
        ["CR_HIT_TAKEN_SPELL"] = "Unknown",
        ["CR_CRIT_TAKEN_MELEE"] = "Unknown",
        ["CR_HIT_RANGED"] = "Ranged chance to hit",
        ["CR_CRIT_SPELL"] = "Spell critical strike chance",
        ["CR_PARRY"] = "Parry skill",
        ["CR_CRIT_TAKEN_RANGED"] = "Unknown",
      },
      ["desc"] = "The index of the rating to be queried",
    },
  },
  ["name"] = "GetCombatRating",
  ["signature"] = "rating = GetCombatRating(ratingIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "rating",
      ["desc"] = "The amount of rating bonus the player has",
    },
  },
  ["desc"] = "Returns the amount of rating a player has for a given rating stat",
}
GetCombatRatingBonus = {
  ["arguments"] = {
    {
      ["name"] = "ratingIndex",
      ["type"] = "number",
      ["values"] = {
        ["CR_HIT_TAKEN_MELEE"] = "Unknown",
        ["CR_CRIT_RANGED"] = "Ranged critical strike chance",
        ["CR_WEAPON_SKILL"] = "Weapon skill",
        ["CR_HASTE_SPELL"] = "Spell haste",
        ["CR_DODGE"] = "Dodge skill",
        ["CR_BLOCK"] = "Block skill",
        ["CR_HIT_TAKEN_RANGED"] = "Unknown",
        ["CR_WEAPON_SKILL_MAINHAND"] = "Main-hand weapon skill",
        ["CR_WEAPON_SKILL_OFFHAND"] = "Offhand weapon skill",
        ["CR_HASTE_RANGED"] = "Ranged haste",
        ["CR_HIT_MELEE"] = "Melee chance to hit",
        ["CR_WEAPON_SKILL_RANGED"] = "Ranged weapon skill",
        ["CR_CRIT_MELEE"] = "Melee critical strike chance",
        ["CR_HASTE_MELEE"] = "Melee haste",
        ["CR_DEFENSE_SKILL"] = "Defense skill",
        ["CR_CRIT_TAKEN_SPELL"] = "Unknown",
        ["CR_HIT_SPELL"] = "Spell chance to hit",
        ["CR_HIT_TAKEN_SPELL"] = "Unknown",
        ["CR_CRIT_TAKEN_MELEE"] = "Unknown",
        ["CR_HIT_RANGED"] = "Ranged chance to hit",
        ["CR_CRIT_SPELL"] = "Spell critical strike chance",
        ["CR_PARRY"] = "Parry skill",
        ["CR_CRIT_TAKEN_RANGED"] = "Unknown",
      },
      ["desc"] = "The index of the rating to be queried",
    },
  },
  ["name"] = "GetCombatRatingBonus",
  ["signature"] = "local ratingBonus  = GetCombatRatingBonus(ratingIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "ratingBonus",
      ["desc"] = "The percentage increase the rating confers",
    },
  },
  ["desc"] = "Returns the percentage bonus for a given combat rating.",
}
GetComboPoints = {
  ["arguments"] = {
  },
  ["name"] = "GetComboPoints",
  ["signature"] = "comboPoints  = GetComboPoints()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "comboPoints",
      ["desc"] = "The number of combo points",
    },
  },
  ["desc"] = "Returns the number of combo points the player has",
}
GetContainerItemCooldown = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["desc"] = "The index of the container",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot within the given container",
    },
  },
  ["name"] = "GetContainerItemCooldown",
  ["signature"] = "start, duration, enable = GetContainerItemCooldown(index, slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The time the cooldown started with millisecond precision.  This is the value of GetTime() at the moment the cooldown began.",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The duration of the cooldown in seconds",
    },
    {
      ["type"] = "1nil",
      ["name"] = "enable",
      ["desc"] = "1 if the item has a possible cooldown, otherwise 0",
    },
  },
  ["desc"] = "Returns information about the cooldown for an item in one of your bags",
}
GetContainerItemDurability = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["desc"] = "The index of the container",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot within the given container to query",
    },
  },
  ["name"] = "GetContainerItemDurability",
  ["signature"] = "curDurability, maxDurability = GetContainerItemDurability(index, slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "minDurability",
      ["desc"] = "The minimum durability of the given item",
    },
    {
      ["type"] = "number",
      ["name"] = "curDurability",
      ["desc"] = "The current durability of the given item",
    },
  },
  ["desc"] = "Returns durability information for an item in one of your bags",
}
GetContainerItemInfo = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["desc"] = "Container index to query.",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "Slot within container to query.",
    },
  },
  ["name"] = "GetContainerItemInfo",
  ["signature"] = "texture, itemCount, locked, quality, readable = GetContainerItemInfo(index, slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "Texture path of the item.",
    },
    {
      ["type"] = "number",
      ["name"] = "itemCount",
      ["desc"] = "Number of items in the slot.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "locked",
      ["desc"] = "1 if the item is locked, nil otherwise.  An item can become locked when splitting stacks or if the item is in the trade/mail/auction windows.",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Common",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "Item quality indicator.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "readable",
      ["desc"] = "1 if the item is readable, nil otherwise.  An item is readable when it is a book or scroll that can be read by right-clicking.",
    },
  },
  ["desc"] = "Returns information aboute an item in a container",
}
GetContainerItemLink = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["desc"] = "The index of the container to check.",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot of the container to check.",
    },
  },
  ["name"] = "GetContainerItemLink",
  ["signature"] = "item  = GetContainerItemLink(index, slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "item",
      ["desc"] = "The item link of the item at the specified position.",
    },
  },
  ["desc"] = "Returns the item link of the item at a specific position in the players bags or bank.",
}
GetContainerNumFreeSlots = {
  ["arguments"] = {
    {
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["type"] = "number",
      ["name"] = "containerID",
      ["desc"] = "The container to check",
    },
  },
  ["name"] = "GetContainerNumFreeSlots",
  ["signature"] = "freeSlots, bagType = GetContainerNumFreeSlots(containerID)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "freeSlots",
      ["desc"] = "The number of empty slots in the bag",
    },
    {
      ["type"] = "bitfield",
      ["name"] = "bagType",
      ["desc"] = "The type of the container",
    },
  },
  ["desc"] = "Gets the number of free slots for a bag and the type of items that can go in the bag",
}
GetContainerNumSlots = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["desc"] = "The index of a container",
    },
  },
  ["name"] = "GetContainerNumSlots",
  ["signature"] = "numSlots = GetContainerNumSlots(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSlots",
      ["desc"] = "The number of slots for the given container",
    },
  },
  ["desc"] = "Returns the number of slots for a given container",
}
GetCorpseMapPosition = {
  ["arguments"] = {
  },
  ["name"] = "GetCorpseMapPosition",
  ["signature"] = "corpseX, corpseY = GetCorpseMapPosition()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "corpseX",
      ["desc"] = "The X coordinate for the player's corpse on the world map.  This number is given as a proportion of the total width of the WorldMapDetailFrame.",
    },
    {
      ["type"] = "number",
      ["name"] = "corpseY",
      ["desc"] = "The Y coordinate for the player's corpse on the world map.  This number is given as a proportion of the total height of the WorldMapDetailFrame.",
    },
  },
  ["desc"] = "Returns the position of the player's corpse on the world map.",
}
GetCorpseRecoveryDelay = {
  ["arguments"] = {
  },
  ["name"] = "GetCorpseRecoveryDelay",
  ["signature"] = "timeLeft = GetCorpseRecoveryDelay()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeLeft",
      ["desc"] = "The amount of time left until the player can recover their corpse, in seconds.  This returns 0 if the player can recover it immediately.",
    },
  },
  ["desc"] = "Returns the amount of time left until the player can recover their corpse",
}
GetCritChance = {
  ["arguments"] = {
  },
  ["name"] = "GetCritChance",
  ["signature"] = "critChance = GetCritChance()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "critChance",
      ["desc"] = "The player's percent chance to crit for melee attacks.",
    },
  },
  ["desc"] = "Returns the player's percent melee critical strike chance",
}
GetCritChanceFromAgility = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "GetCritChanceFromAgility",
  ["signature"] = "critChance = GetCritChanceFromAgility(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "critChance",
      ["desc"] = "The percentage crit chance granted by the agility stat",
    },
  },
  ["desc"] = "Returns the amount of critical strike chance given by the agility stat",
}
GetCurrentArenaSeason = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentArenaSeason",
  ["signature"] = "season  = GetCurrentArenaSeason()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "season",
      ["desc"] = "The current arena season",
    },
  },
  ["desc"] = "Returns the current arena season.",
}
GetCurrentBindingSet = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentBindingSet",
  ["signature"] = "bindingSet = GetCurrentBindingSet()",
  ["returns"] = {
    {
      ["name"] = "bindingSet",
      ["type"] = "number",
      ["values"] = {
        "The key bindings in use are for all characters",
        "The key bindings in use are character specific",
      },
      ["desc"] = "The binding set currently in use",
    },
  },
  ["desc"] = "Returns the type of key bindings in use",
}
GetCurrentDungeonDifficulty = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentDungeonDifficulty",
  ["signature"] = "dungeonDifficulty = GetCurrentDungeonDifficulty()",
  ["returns"] = {
    {
      ["name"] = "dungeonDifficulty",
      ["type"] = "number",
      ["values"] = {
        "Normal",
        "Heroic",
        "Epic (currently unused)",
      },
      ["desc"] = "The currently dungeon difficulty setting",
    },
  },
  ["desc"] = "Returns the currently dungeon difficulty level",
}
GetCurrentGuildBankTab = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "currentTab",
      ["desc"] = "The currently selected guild bank tab",
    },
  },
  ["name"] = "GetCurrentGuildBankTab",
  ["signature"] = "currentTab = GetCurrentGuildBankTab()",
  ["returns"] = {
  },
  ["desc"] = "Returns the currently selected guild bank tab",
}
GetCurrentKeyBoardFocus = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentKeyBoardFocus",
  ["signature"] = "frame = GetCurrentKeyBoardFocus()",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "frame",
      ["desc"] = "The frame that current has the keyboard focus or nil.  This is typically an EditBox frame, but could be any frame.",
    },
  },
  ["desc"] = "Returns the frame that currently has the keyboard focus",
}
GetCurrentMapContinent = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentMapContinent",
  ["signature"] = "continent = GetCurrentMapContinent()",
  ["returns"] = {
    {
      ["name"] = "continent",
      ["type"] = "number",
      ["values"] = {
        "Kalimdor",
        "Eastern Kingdoms",
        "Outlands",
        [0] = "Azeroth World Map",
        [-1] = "Universe Map (showing both Outlands and Azeroth)",
      },
      ["desc"] = "The continent the player is currently viewing on the world map, or the continent the player currently resides on.",
    },
  },
  ["desc"] = "Returns the current map continent.",
}
GetCurrentMapZone = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentMapZone",
  ["signature"] = "zone = GetCurrentMapZone()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "zone",
      ["desc"] = "The number of the zone currently shown on the World Map",
    },
  },
  ["desc"] = "Returns the number of the zone currently shown on the World Map",
}
GetCurrentMultisampleFormat = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentMultisampleFormat",
  ["signature"] = "index = GetCurrentMultisampleFormat()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the currently selected multi-sample format.",
    },
  },
  ["desc"] = "Returns the index of the currently selected multi-sample format",
}
GetCurrentResolution = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentResolution",
  ["signature"] = "index = GetCurrentResolution()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the current resolution",
    },
  },
  ["desc"] = "Returns the index of the current resolution",
}
GetCurrentTitle = {
  ["arguments"] = {
  },
  ["name"] = "GetCurrentTitle",
  ["signature"] = "currentTitle = GetCurrentTitle()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "currentTitle",
      ["desc"] = "The currently selected title.  If the player has no available titles this will return 0.  If the player has available titles and has none selected, this will return -1.",
    },
  },
  ["desc"] = "Returns the currently selected player title",
}
GetCursorInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetCursorInfo",
  ["signature"] = "type, id, subType = GetCursorInfo()",
  ["returns"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        "money",
        "spell",
        "item",
        "macro",
        "merchant",
      },
      ["desc"] = "The type of object currently held by the cursor",
    },
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The value depends on the return for \"type\", but corresponds to the amount of money in copper, the spell id, the item id, the macro index, or the index of the merchant item being held",
    },
    {
      ["type"] = "string",
      ["name"] = "subType",
      ["desc"] = "The subtype of the object being held, depending on the return of \"type\".  The spellbookType for the spell or the itemLink for the item being held",
    },
  },
  ["desc"] = "Returns information about the object currently held by the cursor",
}
GetCursorMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetCursorMoney",
  ["signature"] = "cursorMoney = GetCursorMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cursorMoney",
      ["desc"] = "The amount of money currently held by the cursor, in copper",
    },
  },
  ["desc"] = "Returns the amount of money currently held by the cursor, in copper",
}
GetCursorPosition = {
  ["arguments"] = {
  },
  ["name"] = "GetCursorPosition",
  ["signature"] = "cursorX, cursorY = GetCursorPosition()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cursorX",
      ["desc"] = "The current scale-independent X coordinate of the cursor",
    },
    {
      ["type"] = "number",
      ["name"] = "cursorY",
      ["desc"] = "The current scale-independent Y coordinate of the cursor",
    },
  },
  ["desc"] = "Returns the coordinate position of the cursor on screen.",
}
GetDailyQuestsCompleted = {
  ["arguments"] = {
  },
  ["name"] = "GetDailyQuestsCompleted",
  ["signature"] = "dailyQuestsComplete = GetDailyQuestsCompleted()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "dailyQuestsComplete",
      ["desc"] = "The number of daily quests the player completed.",
    },
  },
  ["desc"] = "Returns the number of daily quests the player already completed today.",
}
GetDamageBonusStat = {
  ["arguments"] = {
  },
  ["name"] = "GetDamageBonusStat",
  ["signature"] = "bonusStat = GetDamageBonusStat()",
  ["returns"] = {
    {
      ["name"] = "bonusStat",
      ["type"] = "number",
      ["values"] = {
        "Strength (Druids, Mages, Paladins, Priests, Shamans, Warlocks and Warriors)",
        "Agility (Hunters and Rogues)",
      },
      ["desc"] = "The index of the main stat that grants a damage bonus when increased",
    },
  },
  ["desc"] = "This function will return the index of the stat that provides the most (not necessarily the only) bonus melee damage when increased for the player's class. Currently this is either 1 (Strength) or 2 (Agility).",
}
GetDeathReleasePosition = {
  ["arguments"] = {
  },
  ["name"] = "GetDeathReleasePosition",
  ["signature"] = "x, y = GetDeathReleasePosition()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "x",
      ["desc"] = "X position on the map between 0 and 1",
    },
    {
      ["type"] = "number",
      ["name"] = "y",
      ["desc"] = "Y position on the map between 0 and 1",
    },
  },
  ["desc"] = "Returns the location of the graveyard where your spirit will appear when it is released from your body",
}
GetDebugStats = {
  ["arguments"] = {
  },
  ["name"] = "GetDebugStats",
  ["signature"] = "GetDebugStats()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetDefaultDungeonDifficulty = {
  ["arguments"] = {
  },
  ["name"] = "GetDefaultDungeonDifficulty",
  ["signature"] = "difficulty = GetDefaultDungeonDifficulty()",
  ["returns"] = {
    {
      ["name"] = "difficulty",
      ["type"] = "number",
      ["values"] = {
        "Normal",
        "Heroic",
        "Epic (currently unused)",
      },
      ["desc"] = "The dungeon difficulty",
    },
  },
  ["desc"] = "Returns the default dungeon difficulty level for the player",
}
GetDefaultLanguage = {
  ["arguments"] = {
  },
  ["name"] = "GetDefaultLanguage",
  ["signature"] = "language = GetDefaultLanguage()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "language",
      ["desc"] = "The default language the player's character speaks",
    },
  },
  ["desc"] = "Returns the default language that the character speaks",
}
GetDodgeChance = {
  ["arguments"] = {
  },
  ["name"] = "GetDodgeChance",
  ["signature"] = "chance = GetDodgeChance()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "chance",
      ["desc"] = "The amount of dodge change the player currently has as a percentage",
    },
  },
  ["desc"] = "Returns the amount of dodge change the player has, as a percentage",
}
GetEventCPUUsage = {
  ["arguments"] = {
  },
  ["name"] = "GetEventCPUUsage",
  ["signature"] = "timeSpent, numEvents, GetEventCPUUsage()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeSpent",
      ["desc"] = "The total amount of time spent while processing events, in seconds. If CPU profiling is disabled, this value will be 0.",
    },
    {
      ["type"] = "number",
      ["name"] = "numEvents",
      ["desc"] = "The number of events that have been fired this session",
    },
  },
  ["desc"] = "Returns information about the CPU usage of events",
}
GetExistingLocales = {
  ["arguments"] = {
  },
  ["name"] = "GetExistingLocales",
  ["signature"] = "... = GetExistingLocales()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of the locale packs currently available to the client",
    },
  },
  ["desc"] = "Returns the locale packs currently available to the client",
}
GetExistingSocketInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the socket",
    },
  },
  ["name"] = "GetExistingSocketInfo",
  ["signature"] = "name, texture, isMatch = GetExistingSocketInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the jewel currently in the given socket (nil if no jewel is socketed in this socket)",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The texture of the icon of the jewel currently in the given socket (nil if no jewel is socketed in this socket)",
    },
    {
      ["type"] = "1nil",
      ["name"] = "name",
      ["desc"] = "1 if the jewel currently in the socket matches the socket's color (nil if no jewel is socketed in this socket)",
    },
  },
  ["desc"] = "Returns information about the jewel in a given socket for the item in the item socketing interface",
}
GetExistingSocketLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the item socket to query",
    },
  },
  ["name"] = "GetExistingSocketLink",
  ["signature"] = "link = GetExistingSocketLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link of the gem already in the given socket",
    },
  },
  ["desc"] = "Returns an item link for a socketed gem.",
}
GetExpertise = {
  ["arguments"] = {
  },
  ["name"] = "GetExpertise",
  ["signature"] = "expertise = GetExpertise()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "expertise",
      ["desc"] = "The amount of expertise rating the player currently has",
    },
  },
  ["desc"] = "Returns the amount of expertise the player currently has",
}
GetExpertisePercent = {
  ["arguments"] = {
  },
  ["name"] = "GetExpertisePercent",
  ["signature"] = "expertisePerc = GetExpertisePercent()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "expertisePerc",
      ["desc"] = "The reduced chance to be dodged or parried granted by the current level of expertise rating",
    },
  },
  ["desc"] = "Returns the reduced chance to be dodged or parried as a result of the expertise rating",
}
GetExtendedItemInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetExtendedItemInfo",
  ["signature"] = "GetExtendedItemInfo",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetFactionInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the faction in the Reputation window",
    },
  },
  ["name"] = "GetFactionInfo",
  ["signature"] = "name, description, standingID, barMin, barMax, barValue, atWarWith, canToggleAtWar, isHeader, isCollapsed, isWatched  = GetFactionInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the faction",
    },
    {
      ["type"] = "string",
      ["name"] = "description",
      ["desc"] = "The description of the faction, displayed in the faction detail window",
    },
    {
      ["name"] = "standingID",
      ["type"] = "number",
      ["values"] = {
        "Hated",
        "Hostile",
        "Unfriendly",
        "Neutral",
        "Friendly",
        "Honored",
        "Revered",
        "Exalted",
      },
      ["desc"] = "The current standing with the given faction",
    },
    {
      ["type"] = "number",
      ["name"] = "barMin",
      ["desc"] = "The minimum value of the reputation bar at the given standing",
    },
    {
      ["type"] = "number",
      ["name"] = "barMax",
      ["desc"] = "The maximum value of the reputation bar at the given standing",
    },
    {
      ["type"] = "number",
      ["name"] = "barValue",
      ["desc"] = "The player's current reputation with the faction",
    },
    {
      ["type"] = "1nil",
      ["name"] = "atWarWith",
      ["desc"] = "1 if the player is at war with the given faction, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canToggleAtWar",
      ["desc"] = "1 if the player can declare war with a given faction, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isHeader",
      ["desc"] = "1 if the given faction index is a faction header",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isCollapsed",
      ["desc"] = "1 if the faction index is a faction header, and collapsed",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isWatched",
      ["desc"] = "1 if the faction is currently being watched (i.e. displayed above the experience bar)",
    },
  },
  ["desc"] = "Returns information about a specified faction index",
}
GetFarclip = {
  ["arguments"] = {
  },
  ["name"] = "GetFarclip",
  ["signature"] = "distance = GetFarclip()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "distance",
      ["desc"] = "The distance that corresponds to Terrain Distance option in Video Options",
    },
  },
  ["desc"] = "Returns the value of the \"Terrain Distance\" video option",
}
GetFirstTradeSkill = {
  ["arguments"] = {
  },
  ["name"] = "GetFirstTradeSkill",
  ["signature"] = "index = GetFirstTradeSkill()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the first tradeskill recipe, as opposed to tradeskill headers",
    },
  },
  ["desc"] = "Returns the index of the first tradeskill recipe, as opposed to tradeskill headers",
}
GetFrameCPUUsage = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "frame",
      ["desc"] = "Frame to query.",
    },
    {
      ["type"] = "boolean",
      ["name"] = "includeChildren",
      ["desc"] = "Include children of this frame in query.",
    },
  },
  ["name"] = "GetFrameCPUUsage",
  ["signature"] = "time, calls = GetFrameCPUUsage(frame [, includeChildren])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "time",
      ["desc"] = "CPU time in milliseconds used.",
    },
    {
      ["type"] = "number",
      ["name"] = "calls",
      ["desc"] = "Number of function calls.",
    },
  },
  ["desc"] = "Gets CPU time used and number of function calls for the frame and it's children depending on the includeChildren setting. includeChildren defaults to 'true'.",
}
GetFramerate = {
  ["arguments"] = {
  },
  ["name"] = "GetFramerate",
  ["signature"] = "framerate = GetFramerate()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "framerate",
      ["desc"] = "The current graphical framerate",
    },
  },
  ["desc"] = "Returns the current graphical framerate",
}
GetFramesRegisteredForEvent = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "event",
      ["desc"] = "An event name",
    },
  },
  ["name"] = "GetFramesRegisteredForEvent",
  ["signature"] = "... = GetFramesRegisteredForEvent(\"event\")",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "...",
      ["desc"] = "A list of all frames registered for the given event",
    },
  },
  ["desc"] = "Returns all frames registered for a given event",
}
GetFriendInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a friend in the friends list",
    },
  },
  ["name"] = "GetFriendInfo",
  ["signature"] = "name, level, class, area, connected, status = GetFriendInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the friend",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The friend's level if they are online, otherwise 0",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The friend's class if they are online, otherwise \"Unknown\".",
    },
    {
      ["type"] = "string",
      ["name"] = "area",
      ["desc"] = "The current location of the friend if they are online, otherwise \"Unknown\".",
    },
    {
      ["type"] = "1nil",
      ["name"] = "connected",
      ["desc"] = "1 if the friend is online, otherwise nil",
    },
    {
      ["type"] = "string",
      ["name"] = "status",
      ["desc"] = "The status string for the player, i.e. <AFK> or <DND>.  Otherwise, the empty string.",
    },
  },
  ["desc"] = "Returns information about someone on the player's friends list",
}
GetFunctionCPUUsage = {
  ["arguments"] = {
    {
      ["type"] = "function",
      ["name"] = "function",
      ["desc"] = "The function to query",
    },
    {
      ["type"] = "1nil",
      ["name"] = "includeSubroutines",
      ["desc"] = "1 to include any subroutines called by the original function, otherwise nil",
    },
  },
  ["name"] = "GetFunctionCPUUsage",
  ["signature"] = "timeUsed, numCalled = GetFunctionCPUUsage(function [, includeSubroutines])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeUsed",
      ["desc"] = "The amount of CPU time spent inside the function",
    },
    {
      ["type"] = "number",
      ["name"] = "numCalled",
      ["desc"] = "The number of times the function has been called",
    },
  },
  ["desc"] = "Returns CPU usage information about a function",
}
GetGMStatus = {
  ["arguments"] = {
  },
  ["name"] = "GetGMStatus",
  ["signature"] = "GetGMStatus()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetGMTicket = {
  ["arguments"] = {
  },
  ["name"] = "GetGMTicket",
  ["signature"] = "GetGMTicket()",
  ["returns"] = {
  },
  ["desc"] = "Requests a GM ticket update from the server",
}
GetGMTicketCategories = {
  ["arguments"] = {
  },
  ["name"] = "GetGMTicketCategories",
  ["signature"] = "GetGMTicketCategories()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A variable number of categories",
    },
  },
  ["desc"] = "Returns a list of available GM ticket categories",
}
GetGameTime = {
  ["arguments"] = {
  },
  ["name"] = "GetGameTime",
  ["signature"] = "hour, minute = GetGameTime()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "hour",
      ["desc"] = "The hour portion of the current in-game time",
    },
    {
      ["type"] = "number",
      ["name"] = "minute",
      ["desc"] = "The minute portion of the current in-game time",
    },
  },
  ["desc"] = "Returns the current in-game time",
}
GetGamma = {
  ["arguments"] = {
  },
  ["name"] = "GetGamma",
  ["signature"] = "gamma = GetGamma()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "gamma",
      ["desc"] = "The gamma setting of the game client",
    },
  },
  ["desc"] = "Returns the gamma value for the game client",
}
GetGossipActiveQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetGossipActiveQuests",
  ["signature"] = "name, level, ... = GetGossipActiveQuests()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the quest",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the quest",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A repeating list of name and level pairs",
    },
  },
  ["desc"] = "Returns a list of the available quests during a Gossip interaction",
}
GetGossipAvailableQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetGossipAvailableQuests",
  ["signature"] = "title, level, isTrivial, ... = GetGossipAvailableQuests()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "The name of the quest.",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the quest.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isTrivial",
      ["desc"] = "1 if the quest is trivial (low level), nil otherwise.",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A repeating list of all quests on the current gossip frame containing title, level, isTrivial.",
    },
  },
  ["desc"] = "Gets a list of all available quests of the active gossip frame.",
}
GetGossipOptions = {
  ["arguments"] = {
  },
  ["name"] = "GetGossipOptions",
  ["signature"] = "text, gossipType, ... = GetGossipOptions()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text of the gossip option",
    },
    {
      ["name"] = "gossipType",
      ["type"] = "string",
      ["values"] = {
        ["trainer"] = "Open the training dialog",
        ["gossip"] = "Talk to the NPC",
        ["binder"] = "Sets hearthstone location",
        ["taxi"] = "Open the flight map",
        ["battlemaster"] = "Join a battleground",
        ["vendor"] = "Sell items to the vendor",
        ["banker"] = "Open the bank",
      },
      ["desc"] = "A string indicating the type of gossip option",
    },
    {
      ["type"] = "vararg",
      ["name"] = "...",
      ["desc"] = "A repeating list of text and gossipType values for all available options",
    },
  },
  ["desc"] = "Returns the available gossip options for a given NPC",
}
GetGossipText = {
  ["arguments"] = {
  },
  ["name"] = "GetGossipText",
  ["signature"] = "text = GetGossipText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The NPC gossip text, displayed in the initial conversation dialog",
    },
  },
  ["desc"] = "Returns the text that is displayed when initially conversing with an NPC",
}
GetGreetingText = {
  ["arguments"] = {
  },
  ["name"] = "GetGreetingText",
  ["signature"] = "greetingText = GetGreetingText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "greetingText",
      ["desc"] = "The greeting text displayed for quest NPCs",
    },
  },
  ["desc"] = "Returns the greeting text displayed for quest NPCs with multiple quests",
}
GetGuildBankItemInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of the guild bank tab",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot to query",
    },
  },
  ["name"] = "GetGuildBankItemInfo",
  ["signature"] = "texture, count, locked  = GetGuildBankItemInfo(tab, slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The amount of items in the stack",
    },
    {
      ["type"] = "boolean",
      ["name"] = "locked",
      ["desc"] = "true if the item is currently locked, otherwise nil.  An item is locked when it is picked up by someone in your guild.",
    },
  },
  ["desc"] = "Returns information about the guild bank item in a given slot",
}
GetGuildBankItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The tab index to check",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot within the tab to check",
    },
  },
  ["name"] = "GetGuildBankItemLink",
  ["signature"] = "item = GetGuildBankItemLink(tab, slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "item",
      ["desc"] = "The item link of the item at the specified position.",
    },
  },
  ["desc"] = "Returns the item link of the item at a specific position in the guild bank.",
}
GetGuildBankMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildBankMoney",
  ["signature"] = "guildBankMoney = GetGuildBankMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "guildBankMoney",
      ["desc"] = "The amount of money available in the guild bank, in copper",
    },
  },
  ["desc"] = "Returns the amount of money available in the guild bank, in copper",
}
GetGuildBankMoneyTransaction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Index in the money log.",
    },
  },
  ["name"] = "GetGuildBankMoneyTransaction",
  ["signature"] = "type, name, amount, year, month, day, hour  = GetGuildBankMoneyTransaction(index)",
  ["returns"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["repair"] = "Repair costs from the guildbank",
        ["withdraw"] = "Withdrawal from the guildbank",
        ["deposit"] = "Deposit into the guildbank",
      },
      ["desc"] = "Type of the log event",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Player who did the withdrawal/deposit/repair.  'nil' for Unknown entries.",
    },
    {
      ["type"] = "number",
      ["name"] = "year",
      ["desc"] = "Amount of years ago this event occured.",
    },
    {
      ["type"] = "number",
      ["name"] = "month",
      ["desc"] = "Amount of months ago this event occured.",
    },
    {
      ["type"] = "number",
      ["name"] = "day",
      ["desc"] = "Amount of days ago this event occured.",
    },
    {
      ["type"] = "number",
      ["name"] = "hour",
      ["desc"] = "Amount of hours ago this event occured.",
    },
  },
  ["desc"] = "Returns information from the guildbank money log.",
}
GetGuildBankTabCost = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildBankTabCost",
  ["signature"] = "tabCost = GetGuildBankTabCost()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "tabCost",
      ["desc"] = "The cost of the next guild bank tab, in copper",
    },
  },
  ["desc"] = "Returns the cost of the next available guild bank tab",
}
GetGuildBankTabInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of a guild bank tab",
    },
  },
  ["name"] = "GetGuildBankTabInfo",
  ["signature"] = "name, icon, isViewable, canDeposit, numWithdrawals, remainingWithdrawals  = GetGuildBankTabInfo(tab)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the guild tab",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the tab's icon texture",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isViewable",
      ["desc"] = "1 if the guild tab is viewable, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canDeposit",
      ["desc"] = "1 if the player can deposit into the guild bank tab",
    },
    {
      ["type"] = "number",
      ["name"] = "numWithdrawals",
      ["desc"] = "The maximum number of withdrawals the player can do in the tab",
    },
    {
      ["type"] = "number",
      ["name"] = "remainingWithdrawals",
      ["desc"] = "The number of withdrawals the player can make in the tab",
    },
  },
  ["desc"] = "Returns information about a given guild bank tab.",
}
GetGuildBankTabPermissions = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The guild bank tab to query",
    },
  },
  ["name"] = "GetGuildBankTabPermissions",
  ["signature"] = "viewTab, canDeposit, numWithdrawals = GetGuildBankTabPermissions(tab)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "viewTab",
      ["desc"] = "1 if the currently selected guild rank has permission to view the tab",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canDeposit",
      ["desc"] = "1 if the currently selected guild rank has permission to deposit items, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "numWithdrawals",
      ["desc"] = "The number of withdrawals the currently selected guild rank is allowed for the given tab",
    },
  },
  ["desc"] = "Returns the permissions the currently selected guild rank has for a given guild bank tab",
}
GetGuildBankText = {
  ["arguments"] = {
    {
      ["values"] = {
        "1-n",
      },
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The guild bank tab to use",
    },
  },
  ["name"] = "GetGuildBankText",
  ["signature"] = "text = GetGuildBankText(tab)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "Info contents",
    },
  },
  ["desc"] = "Returns the text from the info pane for the given guild bank tab",
}
GetGuildBankTransaction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of the guild bank tab",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the log entry",
    },
  },
  ["name"] = "GetGuildBankTransaction",
  ["signature"] = "type, name, itemLink, count, tab1, tab2, year, month, day, hour  = GetGuildBankTransaction(tab, index)",
  ["returns"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        "deposit",
        "withdraw",
        "repair",
        "move",
      },
      ["desc"] = "The type of transaction",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player who completed the transaction",
    },
    {
      ["type"] = "string",
      ["name"] = "itemLink",
      ["desc"] = "The item link for the item involved",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["type"] = "number",
      ["name"] = "tab1",
      ["desc"] = "The source tab if the item was moved from one tab to another",
    },
    {
      ["type"] = "number",
      ["name"] = "tab2",
      ["desc"] = "The destination tab if the item was moved from one tab to another",
    },
    {
      ["type"] = "number",
      ["name"] = "year",
      ["desc"] = "The number of years ago the transaction occured",
    },
    {
      ["type"] = "number",
      ["name"] = "month",
      ["desc"] = "The number of months ago the transaction occured",
    },
    {
      ["type"] = "number",
      ["name"] = "day",
      ["desc"] = "The number of days ago the transaction occured",
    },
    {
      ["type"] = "number",
      ["name"] = "hour",
      ["desc"] = "The number of hours ago the transaction occured",
    },
  },
  ["desc"] = "Returns information about a specific guild bank item transaction",
}
GetGuildBankWithdrawLimit = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildBankWithdrawLimit",
  ["signature"] = "goldWithdrawLimit = GetGuildBankWithdrawLimit()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "goldWithdrawLimit",
      ["desc"] = "Gold withdrawal limit. -1 being unlimited.",
    },
  },
  ["desc"] = "Returns the guildbank gold withdraw limit for the current rank being viewed in the guild control pane.",
}
GetGuildBankWithdrawMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildBankWithdrawMoney",
  ["signature"] = "withdrawLimit = GetGuildBankWithdrawMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "withdrawLimit",
      ["desc"] = "The amount of gold the player is allowed to withdraw from the bank daily, or -1 if no limit.",
    },
  },
  ["desc"] = "Returns the amount of gold the player can withdraw from the bank daily",
}
GetGuildCharterCost = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildCharterCost",
  ["signature"] = "cost = GetGuildCharterCost()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cost",
      ["desc"] = "The cost of a guild charter, in copper",
    },
  },
  ["desc"] = "Returns the cost of a guild charter",
}
GetGuildEventInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Guild event log index between 1 and GetNumGuildEvens()",
    },
  },
  ["name"] = "GetGuildEventInfo",
  ["signature"] = "type, player1, player2, rank, year, month, day, hour  = GetGuildEventInfo(index)",
  ["returns"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["quit"] = "player1 has quit the guild.",
        ["remove"] = "player1 removes player2 from the guild.",
        ["invite"] = "player1 invites player2 to the guild.",
        ["demote"] = "player1 demotes player2 to rank.",
        ["join"] = "player1 joins the guild.",
        ["promote"] = "player1 promotes player2 to rank.",
      },
      ["desc"] = "Event Type",
    },
    {
      ["type"] = "string",
      ["name"] = "player1",
      ["desc"] = "First actor in the log",
    },
    {
      ["type"] = "string",
      ["name"] = "player2",
      ["desc"] = "Second actor in the log",
    },
    {
      ["type"] = "string",
      ["name"] = "rank",
      ["desc"] = "Rank if applicable to the 'type' of the event.",
    },
    {
      ["type"] = "number",
      ["name"] = "year",
      ["desc"] = "Amount of years ago this event occured.",
    },
    {
      ["type"] = "number",
      ["name"] = "month",
      ["desc"] = "Amount of months ago this event occured.",
    },
    {
      ["type"] = "number",
      ["name"] = "day",
      ["desc"] = "Amount of days ago this event occured.",
    },
    {
      ["type"] = "number",
      ["name"] = "hour",
      ["desc"] = "Amount of hours ago this event occured.",
    },
  },
  ["desc"] = "Returns information on the guild log.",
}
GetGuildInfo = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "GetGuildInfo",
  ["signature"] = "guildName, guildRankName, guildRankIndex = GetGuildInfo(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "guildName",
      ["desc"] = "The name of the guild.",
    },
    {
      ["type"] = "string",
      ["name"] = "guildRankName",
      ["desc"] = "The players guild rank.",
    },
    {
      ["type"] = "number",
      ["name"] = "guildRankIndex",
      ["desc"] = "The index of the players guild rank.",
    },
  },
  ["desc"] = "Retrieves information about a players guild.",
}
GetGuildInfoText = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildInfoText",
  ["signature"] = "guildInfoText  = GetGuildInfoText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "guildInfoText",
      ["desc"] = "A string containing the guild information text (including newline characters)",
    },
  },
  ["desc"] = "Returns the information text for the player's guild.",
}
GetGuildRosterInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The player index in the guild roster.",
    },
  },
  ["name"] = "GetGuildRosterInfo",
  ["signature"] = "name, rank, rankIndex, level, class, zone, note, officernote, online, status, classFileName  = GetGuildRosterInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "rank",
      ["desc"] = "The rank of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "rankIndex",
      ["desc"] = "The rankIndex of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The (localized) class of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "note",
      ["desc"] = "The public note of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "officernote",
      ["desc"] = "The officer note of the player, if the player has permission to view it",
    },
    {
      ["type"] = "1nil",
      ["name"] = "online",
      ["desc"] = "1 if the player is online, nil otherwise",
    },
    {
      ["name"] = "status",
      ["type"] = "string",
      ["values"] = {
        ["<AFK>"] = "The player is currently away from keyboard.",
        ["<DND>"] = "The player does not want to be disturbed.",
      },
      ["desc"] = "The status of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "classFileName",
      ["desc"] = "The class filename of the player - unlocalized",
    },
  },
  ["desc"] = "Returns information about the selected player in your guild roster.",
}
GetGuildRosterLastOnline = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a member in the guild roster listing",
    },
  },
  ["name"] = "GetGuildRosterLastOnline",
  ["signature"] = "years, months, days, hours = GetGuildRosterLastOnline(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "years",
      ["desc"] = "The number of years since the player was last online",
    },
    {
      ["type"] = "number",
      ["name"] = "months",
      ["desc"] = "The number of months since the player was last online",
    },
    {
      ["type"] = "number",
      ["name"] = "days",
      ["desc"] = "The number of days since the player was last online",
    },
    {
      ["type"] = "number",
      ["name"] = "hours",
      ["desc"] = "The number of hours since the player was last online",
    },
  },
  ["desc"] = "Returns the amount of time since a guild members has been seen online",
}
GetGuildRosterMOTD = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildRosterMOTD",
  ["signature"] = "guildMOTD  = GetGuildRosterMOTD()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "guildMOTD",
      ["desc"] = "The Guild Message of the Day",
    },
  },
  ["desc"] = "Returns the Message of the Day for your guild",
}
GetGuildRosterSelection = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildRosterSelection",
  ["signature"] = "index = GetGuildRosterSelection()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of your currently selected guild member or 0 if none is selected.",
    },
  },
  ["desc"] = "Returns the raid roster index of your currently selected guild member.",
}
GetGuildRosterShowOffline = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildRosterShowOffline",
  ["signature"] = "showOffline = GetGuildRosterShowOffline()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "showOffline",
      ["desc"] = "1 if the \"Show Offline\" setting is enabled in the Guild tab, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the \"Show Offline\" setting is enabled in the Guild tab",
}
GetGuildTabardFileNames = {
  ["arguments"] = {
  },
  ["name"] = "GetGuildTabardFileNames",
  ["signature"] = "tabardBackgroundUpper, tabardBackgroundLower, tabardEmblemUpper, tabardEmblemLower, tabardBorderUpper, tabardBorderLower = GetGuildTabardFileNames()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "tabardBackgroundUpper",
      ["desc"] = "The path to the texture for the upper background of the guild tabard",
    },
    {
      ["type"] = "string",
      ["name"] = "tabardBackgroundLower",
      ["desc"] = "The path to the texture for the lower background of the guild tabard",
    },
    {
      ["type"] = "string",
      ["name"] = "tabardEmblemUpper",
      ["desc"] = "The path to the texture for the upper emblem of the guild tabard",
    },
    {
      ["type"] = "string",
      ["name"] = "tabardEmblemLower",
      ["desc"] = "The path to the texture for the lower emblem of the guild tabard",
    },
    {
      ["type"] = "string",
      ["name"] = "tabardBorderUpper",
      ["desc"] = "The path to the texture for the upper border of the guild tabard",
    },
    {
      ["type"] = "string",
      ["name"] = "tabardBorderLower",
      ["desc"] = "The path to the texture for the lower border of the guild tabard",
    },
  },
  ["desc"] = "Returns the filenames of the textures that comprise the player's guild tabard",
}
GetHonorCurrency = {
  ["arguments"] = {
  },
  ["name"] = "GetHonorCurrency",
  ["signature"] = "honorPoints = GetHonorCurrency()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "honorPoints",
      ["desc"] = "The number of honor points available to purchase rewards",
    },
  },
  ["desc"] = "Returns the number of honor points available to purchase rewards",
}
GetIgnoreName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "index",
      ["desc"] = "The index of the ignore.",
    },
  },
  ["name"] = "GetIgnoreName",
  ["signature"] = "name  = GetIgnoreName(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the ignored person.",
    },
  },
  ["desc"] = "Returns the name of the specified ignored person.",
}
GetInboxHeaderInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the mail message to be queried",
    },
  },
  ["name"] = "GetInboxHeaderInfo",
  ["signature"] = "packageIcon, stationeryIcon, sender, subject, money, CODAmount, daysLeft, itemCount, wasRead, wasReturned, textCreated, canReply, isGM, itemQuantity = GetInboxHeaderInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "packageIcon",
      ["desc"] = "The icon of the item or package being sent.  If the mail contains just gold or a message this will be nil.",
    },
    {
      ["type"] = "string",
      ["name"] = "stationeryIcon",
      ["desc"] = "The icon for the message stationery",
    },
    {
      ["type"] = "string",
      ["name"] = "sender",
      ["desc"] = "The name of the sender",
    },
    {
      ["type"] = "string",
      ["name"] = "subject",
      ["desc"] = "The subject of the message",
    },
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money in the message, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "CODAmount",
      ["desc"] = "The cost of the COD message, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "daysLeft",
      ["desc"] = "The amount of time left on the message, in days",
    },
    {
      ["type"] = "number",
      ["name"] = "itemCount",
      ["desc"] = "The number of items attached to the message",
    },
    {
      ["type"] = "1nil",
      ["name"] = "wasRead",
      ["desc"] = "1 if the message has been read, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "wasReturned",
      ["desc"] = "1 if the message has been returned to the player, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "textCreated",
      ["desc"] = "1 if a copy of the message text has been made, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canReply",
      ["desc"] = "1 if the player can reply to the message, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isGM",
      ["desc"] = "1 if the message is from a game master, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "itemQuantity",
      ["desc"] = "The number of items in the stack.  This is only returned when the mail only has a single item attachment",
    },
  },
  ["desc"] = "Returns information an inbox item",
}
GetInboxInvoiceInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the invoice in the inbox",
    },
  },
  ["name"] = "GetInboxInvoiceInfo",
  ["signature"] = "invoiceType, itemName, playerName, bid, buyout, deposit, consignment, moneyDelay, etaHour, etaMin = GetInboxInvoiceInfo(index)",
  ["returns"] = {
    {
      ["name"] = "invoiceType",
      ["type"] = "string",
      ["values"] = {
        ["seller_temp_invoice"] = "A temporary invoice for an item the player sold.  These are sent because there is an hour delay in receiving the funds from the Auction House",
        ["buyer"] = "An invoice for an item the player won",
        ["seller"] = "An invoice for an item the player sold",
      },
      ["desc"] = "The type of invoice",
    },
    {
      ["type"] = "string",
      ["name"] = "itemName",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "playerName",
      ["desc"] = "",
    },
    {
      ["type"] = "number",
      ["name"] = "bid",
      ["desc"] = "The winning bid amount, if a bid won the auction",
    },
    {
      ["type"] = "number",
      ["name"] = "buyout",
      ["desc"] = "The buyout amount, if a buyout won the auction",
    },
    {
      ["type"] = "number",
      ["name"] = "deposit",
      ["desc"] = "The amount of money paid in deposit",
    },
    {
      ["type"] = "number",
      ["name"] = "consignment",
      ["desc"] = "The auction house charge for selling your item",
    },
    {
      ["type"] = "number",
      ["name"] = "moneyDelay",
      ["desc"] = "The delay of pending payment, in minutes.  Every auction house temporary invoice will have a delay of 60 minutes",
    },
    {
      ["type"] = "number",
      ["name"] = "etaHour",
      ["desc"] = "The hour portion of the estimated time of arrival for the payment.  If the ETA is 9:37 server time, this value will be the number 9.",
    },
    {
      ["type"] = "number",
      ["name"] = "etaMin",
      ["desc"] = "The minute portion of the estimated time of arrival for the payment.  If the ETA is 9:37 server time, this value will be the number 37.",
    },
  },
  ["desc"] = "Returns information about an auction house invoice",
}
GetInboxItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "messageIndex",
      ["desc"] = "The index of the message to query",
    },
    {
      ["type"] = "number",
      ["name"] = "attachIndex",
      ["desc"] = "The attachment index of the message to query (1-16)",
    },
  },
  ["name"] = "GetInboxItem",
  ["signature"] = "name, itemTexture, count, quality, canUse = GetInboxItem(messageIndex, attachIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "itemTexture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Commmon",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The item quality",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canUse",
      ["desc"] = "1 if the item can be used by the player, otherwise nil",
    },
  },
  ["desc"] = "Returns information about an item attached to a received mail",
}
GetInboxItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "messageIndex",
      ["desc"] = "The index of the message in your mailbox.",
    },
    {
      ["type"] = "number",
      ["name"] = "attachIndex",
      ["desc"] = "The index of the attachement.",
    },
  },
  ["name"] = "GetInboxItemLink",
  ["signature"] = "itemlink = GetInboxItemLink(messageIndex, attachIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "itemlink",
      ["desc"] = "The Itemlink to the attachement in question.",
    },
  },
  ["desc"] = "Returns the item link to the specified attachment.",
}
GetInboxNumItems = {
  ["arguments"] = {
  },
  ["name"] = "GetInboxNumItems",
  ["signature"] = "numItems = GetInboxNumItems()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "The number of items in the inbox",
    },
  },
  ["desc"] = "Returns the number of mail items in currently in your inbox.",
}
GetInboxText = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a mail item in the inbox",
    },
  },
  ["name"] = "GetInboxText",
  ["signature"] = "bodyText, texture, isTakeable, isInvoice = GetInboxText(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "bodyText",
      ["desc"] = "The text of the mail message",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The stationery texture to be displayed",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isTakeable",
      ["desc"] = "1 if the text of the message can be taken from the message, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isInvoice",
      ["desc"] = "1 if the inbox message is an auction house invoice, otherwise nil",
    },
  },
  ["desc"] = "Returns information about the text of an inbox message",
}
GetInspectArenaTeamData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the arena team.  These are indexed from smallest to largest, with the first team (normally 2v2) being 1.",
    },
  },
  ["name"] = "GetInspectArenaTeamData",
  ["signature"] = "teamName, teamSize, teamRating, teamPlayed, teamWins, playerPlayed, playerRating, bg_red, bg_green, bg_blue, emblem, emblem_red, emblem_green, emblem_blue, border, border_red, border_green, border_blue  = GetInspectArenaTeamData(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "teamName",
      ["desc"] = "The name of the arena team",
    },
    {
      ["type"] = "number",
      ["name"] = "teamSize",
      ["desc"] = "The size of the team (2 for 2v2, 3 for 2v2, etc.)",
    },
    {
      ["type"] = "number",
      ["name"] = "teamRating",
      ["desc"] = "The team's rating",
    },
    {
      ["type"] = "number",
      ["name"] = "teamPlayed",
      ["desc"] = "The number of games played in the current arena period",
    },
    {
      ["type"] = "number",
      ["name"] = "teamWins",
      ["desc"] = "The number of games won in the current arena period",
    },
    {
      ["type"] = "number",
      ["name"] = "playerPlayed",
      ["desc"] = "The number of games the player has played in the current arena period",
    },
    {
      ["type"] = "number",
      ["name"] = "playerRating",
      ["desc"] = "The player's personal rating",
    },
    {
      ["type"] = "number",
      ["name"] = "bg_red",
      ["desc"] = "The red component color value for the background (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "bg_green",
      ["desc"] = "The green component color value for the background (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "bg_blue",
      ["desc"] = "The blue component color value for the background (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["note"] = "This value is used to determine the specific texture to be shown for the emblem graphic.  The format for the texture path is \"Interface\\PVPFrame\\Icons\\PVP-Banner-Emblem-\"..emblem, where emblem is this return value.",
      ["name"] = "emblem",
      ["desc"] = "The index of the team's emblem graphic",
    },
    {
      ["type"] = "number",
      ["name"] = "emblem_red",
      ["desc"] = "The red component color value for the emblem (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "emblem_green",
      ["desc"] = "The green component color value for the emblem (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "emblem_blue",
      ["desc"] = "The blue component color value for the emblem (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["note"] = "This value is used to determine the specific texture to be shown for the border graphic.  The format for the texture path is \"Interface\\PVPFrame\\PVP-Banner-\"..teamSize..\"-Border-\"..border, where teamSize and border are returns from this function",
      ["name"] = "border",
      ["desc"] = "The index of the team's border graphic",
    },
    {
      ["type"] = "number",
      ["name"] = "border_red",
      ["desc"] = "The red component color value for the border (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "border_green",
      ["desc"] = "The green component color value for the border (0.0-1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "border_blue",
      ["desc"] = "The blue component color value for the border (0.0-1.0)",
    },
  },
  ["desc"] = "Returns information about an inspect target's arena team",
}
GetInspectHonorData = {
  ["arguments"] = {
  },
  ["name"] = "GetInspectHonorData",
  ["signature"] = "todayHK, todayHonor, yesterdayHK, yesterdayHonor, lifetimeHK, lifetimeRank = GetInspectHonorData()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "todayHK",
      ["desc"] = "The number of honor kills for today",
    },
    {
      ["type"] = "number",
      ["name"] = "todayHonor",
      ["desc"] = "The amount of honor earned today",
    },
    {
      ["type"] = "number",
      ["name"] = "yesterdayHK",
      ["desc"] = "The amount of honor kills for yesterday",
    },
    {
      ["type"] = "number",
      ["name"] = "yesterdayHonor",
      ["desc"] = "The amount of honor earned yesterday",
    },
    {
      ["type"] = "number",
      ["name"] = "lifetimeHK",
      ["desc"] = "The amount of honor kills over the player's lifetime",
    },
    {
      ["type"] = "number",
      ["name"] = "lifetimeRank",
      ["desc"] = "The highest earned rank in the old honor system. Valid returns can be determined with GetPVPRankInfo()",
    },
  },
  ["desc"] = "Returns honor information about an inspect target",
}
GetInstanceBootTimeRemaining = {
  ["arguments"] = {
  },
  ["name"] = "GetInstanceBootTimeRemaining",
  ["signature"] = "timeleft = GetInstanceBootTimeRemaining()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeleft",
      ["desc"] = "The number of seconds until the player is booted from the current instance",
    },
  },
  ["desc"] = "Returns the amount of time left until the player is removed from the current instance",
}
GetInstanceDifficulty = {
  ["arguments"] = {
  },
  ["name"] = "GetInstanceDifficulty",
  ["signature"] = "difficulty = GetInstanceDifficulty()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "difficulty",
      ["desc"] = "The group's dungeon difficulty setting (1 to 3)",
    },
  },
  ["desc"] = "Returns your group's dungeon difficulty setting",
}
GetInventoryAlertStatus = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Head",
        ["3"] = "Chest",
        ["2"] = "Shoulders",
        ["5"] = "Legs",
        ["4"] = "Waist",
        ["7"] = "Wrists",
        ["6"] = "Feet",
        ["9"] = "Weapon",
        ["8"] = "Hands",
        ["11"] = "Ranged",
        ["10"] = "Shield",
      },
      ["desc"] = "Inventory index to query.",
    },
  },
  ["name"] = "GetInventoryAlertStatus",
  ["signature"] = "status = GetInventoryAlertStatus(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "status",
      ["desc"] = "Number 0,1 or 2 indicating alert status.",
    },
  },
  ["desc"] = "Returns the durability level of a given inventory slot",
}
GetInventoryItemBroken = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
    {
      ["type"] = "number",
      ["name"] = "inventoryID",
      ["desc"] = "The inventoryID to query",
    },
  },
  ["name"] = "GetInventoryItemBroken",
  ["signature"] = "isBroken = GetInventoryItemBroken(\"unit\", inventoryID)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isBroken",
      ["desc"] = "1 if the item is broken, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given inventory item is broken",
}
GetInventoryItemCooldown = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query.  This unit can be the player, or the currently inspected unit",
    },
    {
      ["type"] = "string",
      ["name"] = "slotId",
      ["desc"] = "An inventory slotId to query.  This id can be obtained by calling GetInventorySlotInfo() with a slot token",
    },
  },
  ["name"] = "GetInventoryItemCooldown",
  ["signature"] = "start, duration, enable = GetInventoryItemCooldown(unit, slotId)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The value of GetTime() at the moment the cooldown began, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The length of the cooldown, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "enable",
      ["desc"] = "1 if the cooldown is enabled, otherwise 0",
    },
  },
  ["desc"] = "Returns cooldown information about a current inventory item",
}
GetInventoryItemCount = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query.  This is typically \"player\" but this function also works for units that are being inspected",
    },
    {
      ["type"] = "number",
      ["name"] = "slotid",
      ["desc"] = "The inventory slot id",
    },
  },
  ["name"] = "GetInventoryItemCount",
  ["signature"] = "count = GetInventoryItemCount(\"unit\", slotid)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The amount of items stacked in the current inventory slot",
    },
  },
  ["desc"] = "Returns the number of items stacked in an inventory slot",
}
GetInventoryItemDurability = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The inventory slotid to query.  This slotid should be generated using the GetInventorySlotInfo function.",
    },
  },
  ["name"] = "GetInventoryItemDurability",
  ["signature"] = "durability, max = GetInventoryItemDurability(slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "durability",
      ["desc"] = "The current durability",
    },
    {
      ["type"] = "number",
      ["name"] = "max",
      ["desc"] = "The maximum durability",
    },
  },
  ["desc"] = "Returns the durability stats for a given item",
}
GetInventoryItemLink = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
    {
      ["type"] = "number",
      ["name"] = "inventoryID",
      ["desc"] = "The inventoryID to query",
    },
  },
  ["name"] = "GetInventoryItemLink",
  ["signature"] = "link = GetInventoryItemLink(\"unit\", inventoryID)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "An item link for the given item",
    },
  },
  ["desc"] = "Returns an item link for an inventory item",
}
GetInventoryItemQuality = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query.  This unit can be the player, or the currently inspected unit",
    },
    {
      ["type"] = "string",
      ["name"] = "slotId",
      ["desc"] = "An inventory slotId to query.  This id can be obtained by calling GetInventorySlotInfo() with a slot token",
    },
  },
  ["name"] = "GetInventoryItemQuality",
  ["signature"] = "quality = GetInventoryItemQuality(\"unit\", slotId)",
  ["returns"] = {
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Commmon",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The quality level of the item",
    },
  },
  ["desc"] = "Returns the quality level of a given inventory item",
}
GetInventoryItemTexture = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query.  This is normally \"player\" but can also work on the unit you are currently inspecting.",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The inventory slot to query",
    },
  },
  ["name"] = "GetInventoryItemTexture",
  ["signature"] = "texture = GetInventoryItemTexture(\"unit\", slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the inventory item's icon texture",
    },
  },
  ["desc"] = "Returns the item texture for a specific inventory item",
}
GetInventoryItemsForSlot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slotId",
      ["desc"] = "An inventory slot id, as obtained from GetInventorySlotInfo()",
    },
  },
  ["name"] = "GetInventoryItemsForSlot",
  ["signature"] = "availableItems = GetInventoryItemsForSlot(slotId)",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "availableItems",
      ["desc"] = "A table keyed by item location masks, with the item number as the value.",
    },
  },
  ["desc"] = "Returns a list of items that can be equipped in a given inventory slot.",
}
GetInventorySlotInfo = {
  ["arguments"] = {
    {
      ["name"] = "slotName",
      ["type"] = "string",
      ["values"] = {
        ["WristSlot"] = "Wrist/Bracer slot",
        ["BackSlot"] = "Back/Cape slot",
        ["Trinket0Slot"] = "First trinket slot",
        ["Bag3Slot"] = "Fourth bag slot",
        ["TabardSlot"] = "Tabard slot",
        ["FeetSlot"] = "Feet/Boots slot",
        ["NeckSlot"] = "Necklace slot",
        ["Finger1Slot"] = "Second finger/ring slot",
        ["ChestSlot"] = "Chest slot",
        ["Bag1Slot"] = "Second bag slot",
        ["ShoulderSlot"] = "Shoulder slot",
        ["Trinket1Slot"] = "Second trinket slot",
        ["HeadSlot"] = "Head/helmet slot",
        ["HandsSlot"] = "Hand/Gloves slot",
        ["MainHandSlot"] = "Main hand slot",
        ["WaistSlot"] = "Waist/Belt slot",
        ["LegsSlot"] = "Legs/Pants slot",
        ["ShirtSlot"] = "Shirt slot",
        ["Finger0Slot"] = "First finger/ring slot",
        ["SecondaryHandSlot"] = "Secondary hand/Off-hand slot",
        ["RangedSlot"] = "Ranged slot",
        ["AmmoSlot"] = "Ranged ammo slot",
        ["Bag0Slot"] = "First bag slot",
        ["Bag2Slot"] = "Third bag slot",
      },
      ["desc"] = "The name of an inventory slot to query",
    },
  },
  ["name"] = "GetInventorySlotInfo",
  ["signature"] = "id, textureName, checkRelic = GetInventorySlotInfo(\"slotName\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The numeric slotId that should be used in other GetInventory functions",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the texture to be displayed when this slot is empty",
    },
    {
      ["type"] = "1nil",
      ["name"] = "checkRelic",
      ["desc"] = "1 if the slot is a relic slot on the given character, otherwise nil.  The ranged slot token is re-used for the relic slot, and this return distinguishes between the two.",
    },
  },
  ["desc"] = "Returns information about an inventory slot",
}
GetItemCooldown = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "item",
          ["desc"] = "The name of the item to query",
        },
        {
          ["type"] = "number",
          ["name"] = "itemId",
          ["desc"] = "The itemId of the item to query",
        },
      },
    },
  },
  ["name"] = "GetItemCooldown",
  ["signature"] = "start, duration, enable = GetItemCooldown(\"item\" or itemId)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The value of GetTime() at the moment the cooldown began, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The length of the cooldown, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "enable",
      ["desc"] = "1 if the cooldown is enabled, otherwise 0",
    },
  },
  ["desc"] = "Returns cooldown information about a given item",
}
GetItemCount = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemId",
          ["desc"] = "An item id",
        },
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "An item name",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "An item link",
        },
      },
    },
    {
      ["type"] = "boolean",
      ["name"] = "includeBank",
      ["desc"] = "true to include items in the bank in the returned count, otherwise false",
    },
  },
  ["name"] = "GetItemCount",
  ["signature"] = "itemCount = GetItemCount(itemId or \"itemName\" or \"itemLink\" [, includeBank])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "itemCount",
      ["desc"] = "The number of the given item the player has in possession (possibly including items in the bank)",
    },
  },
  ["desc"] = "Returns the number of a given item the player has in possession (possibly including bank)",
}
GetItemFamily = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "The item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "\"itemName\"",
          ["desc"] = "The item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "\"itemLink\"",
          ["desc"] = "The item's link",
        },
      },
    },
  },
  ["name"] = "GetItemFamily",
  ["signature"] = "bagType = GetItemFamily(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["values"] = {
        ["0x4"] = "Soul Bag",
        ["0x80"] = "Engineering Bag",
        ["0x200"] = "Gem Bag",
        ["0x40"] = "Enchanting Bag",
        ["0x2"] = "Ammo Pouch",
        ["0x100"] = "Keyring",
        ["0x10"] = "Unused",
        ["0x400"] = "Mining Bag",
        ["0x1000"] = "Vanity Pets",
        ["0x8"] = "Leatherworking Bag",
        ["0x1"] = "Quiver",
        ["0x800"] = "Unused",
        ["0x20"] = "Herb Bag",
      },
      ["type"] = "bitfield",
      ["name"] = "bagType",
      ["desc"] = "The item's bag type",
    },
  },
  ["desc"] = "Returns the bag type of the given item",
}
GetItemGem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of an item",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "A valid item link",
        },
      },
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the socket to query",
    },
  },
  ["name"] = "GetItemGem",
  ["signature"] = "name, link = GetItemGem(\"name\" or \"itemlink\", index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the gem in the socket, or nil",
    },
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link for the gem in the socket",
    },
  },
  ["desc"] = "Returns the name and link for a gem in a specific item socket",
}
GetItemIcon = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "The item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "\"itemName\"",
          ["desc"] = "The item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "\"itemLink\"",
          ["desc"] = "The item's link",
        },
      },
    },
  },
  ["name"] = "GetItemIcon",
  ["signature"] = "path = GetItemIcon(itemID or \"itemName\" or \"itemLink\")",
  ["desc"] = "Returns the texture path for the given item's icon",
}
GetItemInfo = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "An item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "An item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "An item's link",
        },
      },
    },
  },
  ["name"] = "GetItemInfo",
  ["signature"] = "name, link, quality, iLevel, reqLevel, type, subType, maxStack, equipSlot, texture = GetItemInfo(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "A link for the item",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The item's quality",
    },
    {
      ["type"] = "number",
      ["name"] = "iLevel",
      ["desc"] = "The internal \"item level\".",
    },
    {
      ["type"] = "number",
      ["name"] = "reqLevel",
      ["desc"] = "The minimum required level to use the item",
    },
    {
      ["type"] = "string",
      ["name"] = "type",
      ["desc"] = "The item type.  This may be the class of item (such as \"Armor\" or \"Weapon\") or another item class such as \"quest\".",
    },
    {
      ["type"] = "string",
      ["name"] = "subType",
      ["desc"] = "The item's subtype",
    },
    {
      ["type"] = "number",
      ["name"] = "maxStack",
      ["desc"] = "The maximum stack size for the item",
    },
    {
      ["name"] = "equipSlot",
      ["type"] = "string",
      ["values"] = {
        ["INVTYPE_QUIVER"] = "Quiver",
        ["INVTYPE_SHIELD"] = "Off Hand",
        ["INVTYPE_WEAPONOFFHAND"] = "Off Hand",
        ["INVTYPE_RANGED"] = "Ranged",
        ["INVTYPE_WEAPON"] = "One-Hand",
        ["INVTYPE_2HWEAPON"] = "Two-Hand",
        ["INVTYPE_WRIST"] = "Wrist",
        ["INVTYPE_TRINKET"] = "Trinket",
        ["INVTYPE_NECK"] = "Neck",
        ["INVTYPE_BAG"] = "Bag",
        ["INVTYPE_CHEST"] = "Chest",
        ["INVTYPE_AMMO"] = "Ammo",
        ["INVTYPE_LEGS"] = "Legs",
        ["INVTYPE_BODY"] = "Shirt",
        ["INVTYPE_THROWN"] = "Thrown",
        ["INVTYPE_FEET"] = "Feet",
        ["INVTYPE_HOLDABLE"] = "Held In Off-hand",
        ["INVTYPE_RELIC"] = "Relic",
        ["INVTYPE_CLOAK"] = "Back",
        ["INVTYPE_RANGEDRIGHT"] = "Ranged",
        ["INVTYPE_TABARD"] = "Tabard",
        ["INVTYPE_FINGER"] = "Finger",
        ["INVTYPE_HAND"] = "Hands",
        ["INVTYPE_WAIST"] = "Waist",
        ["INVTYPE_ROBE"] = "Chest",
        ["INVTYPE_SHOULDER"] = "Shoulder",
        ["INVTYPE_HEAD"] = "Head",
        ["INVTYPE_WEAPONMAINHAND"] = "Main Hand",
      },
      ["desc"] = "A token indicating where the item can be equipped, or the empty string",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
  },
  ["desc"] = "Returns information about an item, by name, link or id",
}
GetItemQualityColor = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The item quality index, any indexes outside of the following values will be interpreted as a request for quality index 1",
    },
  },
  ["name"] = "GetItemQualityColor",
  ["signature"] = "redComponent, greedComponent, blueComponent, hexColor = GetItemQualityColor(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "redComponent",
      ["desc"] = "The red component of the item quality's color. It is a floating point number from 0 to 1.",
    },
    {
      ["type"] = "number",
      ["name"] = "greenComponent",
      ["desc"] = "The green component of the item quality's color. It is a floating point number from 0 to 1.",
    },
    {
      ["type"] = "number",
      ["name"] = "blueComponent",
      ["desc"] = "The blue component of the item quality's color. It is a floating point number from 0 to 1.",
    },
    {
      ["type"] = "string",
      ["name"] = "hexColor",
      ["desc"] = "The hex color code for the given item quality, including the |c at the beginning.",
    },
  },
  ["desc"] = "Returns the red, green and blue components of the color for the given item quality index. Also returns a hex representation of the same color.",
}
GetItemSpell = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "The name of the item to query",
        },
        {
          ["type"] = "number",
          ["name"] = "itemId",
          ["desc"] = "An itemId to query",
        },
      },
    },
  },
  ["name"] = "GetItemSpell",
  ["signature"] = "name, rank = GetItemSpell(\"itemName\" or itemId)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell that is cast when using the given item.  These are internal spell names that can't be cast directly.",
    },
    {
      ["type"] = "string",
      ["name"] = "rank",
      ["desc"] = "The rank of the spell cast",
    },
  },
  ["desc"] = "Returns information about the spell cast when using a given item",
}
GetLFGPartyResults = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "type",
      ["desc"] = "The type of LFG query.  Valid values can be obtained using GetLFGTypes().",
    },
    {
      ["type"] = "number",
      ["name"] = "lfgNdx",
      ["desc"] = "The dungeon/quest index of the query.  Valid values can be obtained using GetLFGTypeEntries().",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the result in the LFG window",
    },
    {
      ["type"] = "number",
      ["name"] = "partyIndex",
      ["desc"] = "The index of the member of the party.  This does not include the party leader",
    },
  },
  ["name"] = "GetLFGPartyResults",
  ["signature"] = "name, level, class = GetLFGPartyResults(type, lfgNdx, index, partyIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "level",
      ["desc"] = "The level of the player, as a string",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The localized class of the player",
    },
  },
  ["desc"] = "Returns information about a member of a party in the LFG results",
}
GetLFGResults = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "type",
      ["desc"] = "The type of LFG query.  Valid values can be obtained using GetLFGTypes().",
    },
    {
      ["type"] = "number",
      ["name"] = "lfgNdx",
      ["desc"] = "The dungeon/quest index of the query.  Valid values can be obtained using GetLFGTypeEntries().",
    },
  },
  ["name"] = "GetLFGResults",
  ["signature"] = "name, level, zone, class, criteria1, criteria2, criteria3, comment, numPartyMembers, isLFM, classFileName  = GetLFGResults(type, lfgNdx, index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The player's level",
    },
    {
      ["type"] = "string",
      ["name"] = "zone",
      ["desc"] = "The player's current location",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The player's class",
    },
    {
      ["type"] = "string",
      ["name"] = "criteria1",
      ["desc"] = "The player's first selected LFG/LFM option",
    },
    {
      ["type"] = "string",
      ["name"] = "criteria2",
      ["desc"] = "The player's second selected LFG/LFM option",
    },
    {
      ["type"] = "string",
      ["name"] = "criteria3",
      ["desc"] = "The player's third selected LFG/LFM option",
    },
    {
      ["type"] = "string",
      ["name"] = "comment",
      ["desc"] = "The player's comment, if any",
    },
    {
      ["type"] = "number",
      ["name"] = "numPartyMembers",
      ["desc"] = "The number of current party members",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isLFM",
      ["desc"] = "true if the player is looking for more members, otherwise nil",
    },
    {
      ["type"] = "string",
      ["name"] = "classFileName",
      ["desc"] = "The uppercase english name of the player's class",
    },
  },
  ["desc"] = "Returns information about a specific line of a LFM/LFG query",
}
GetLFGStatusText = {
  ["arguments"] = {
  },
  ["name"] = "GetLFGStatusText",
  ["signature"] = "isLFG, numCriteria, ... = GetLFGStatusText()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isLFG",
      ["desc"] = "true if the character is looking for group, false if looking for more.",
    },
    {
      ["type"] = "number",
      ["name"] = "numCriteria",
      ["desc"] = "Amount of extra criteria after this parameter",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "Repeating list of isLFG, numCriteria pairs.",
    },
  },
  ["desc"] = "Returns information on your current Looking For Group status.",
}
GetLFGTypeEntries = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "number",
      ["values"] = {
        "Dungeon",
        "Raid",
        "Quest (Group)",
        "Zone",
        "Heroic Dungeon",
      },
      ["desc"] = "The type of LFG request",
    },
  },
  ["name"] = "GetLFGTypeEntries",
  ["signature"] = "entry, token, ... = GetLFGTypeEntries(type)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "entry",
      ["desc"] = "The name of the entry",
    },
    {
      ["type"] = "string",
      ["name"] = "token",
      ["desc"] = "A token sub-type for the entry.  For example the token for each entry of the \"Zones\" type returns the name of the continent the zone is on, while the tokens for dungeons returns a token representing the dungeon",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A repeating list of entries and tokens",
    },
  },
  ["desc"] = "Returns the valid entries of a specific type in the LFG system",
}
GetLFGTypes = {
  ["arguments"] = {
  },
  ["name"] = "GetLFGTypes",
  ["signature"] = "... = GetLFGTypes()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "The type of looking for group queries, as a list of strings",
    },
  },
  ["desc"] = "Returns the type of possible LFG queries",
}
GetLanguageByIndex = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the language being queried. Runs from 1 to GetNumLaguages() (That function is spelled that way, its a Blizzard typo)",
    },
  },
  ["name"] = "GetLanguageByIndex",
  ["signature"] = "language  = GetLanguageByIndex(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "language",
      ["desc"] = "The name of the language, such as \"Common\" or \"Gnomish\"",
    },
  },
  ["desc"] = "Returns the localized name of the language identified by the index being queried",
}
GetLatestThreeSenders = {
  ["arguments"] = {
  },
  ["name"] = "GetLatestThreeSenders",
  ["signature"] = "sender1, sender2, sender3  = GetLatestThreeSenders()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "sender1",
      ["desc"] = "The name of the sender of an unchecked mail",
    },
    {
      ["type"] = "string",
      ["name"] = "sender2",
      ["desc"] = "The name of the sender of an unchecked mail",
    },
    {
      ["type"] = "string",
      ["name"] = "sender3",
      ["desc"] = "The name of the sender of an unchecked mail",
    },
  },
  ["desc"] = "Returns the names of the last three senders of unchecked mail",
}
GetLocale = {
  ["arguments"] = {
  },
  ["name"] = "GetLocale",
  ["signature"] = "locale = GetLocale()",
  ["returns"] = {
    {
      ["name"] = "locale",
      ["type"] = "string",
      ["values"] = {
        ["zhTW"] = "Chinese (traditional)",
        ["enUS"] = "American English",
        ["koKR"] = "Korean",
        ["enGB"] = "Britisih English",
        ["deDE"] = "German",
        ["frFR"] = "French",
        ["esES"] = "Spanish",
        ["zhCN"] = "Chinese (simplified)",
      },
      ["desc"] = "A four character locale code indicating what language the client uses",
    },
  },
  ["desc"] = "Returns the four character locale code indicating what language the client uses",
}
GetLookingForGroup = {
  ["arguments"] = {
  },
  ["name"] = "GetLookingForGroup",
  ["signature"] = "type1, name1, type2, name2, type3, name3, lfmType, lfmName, comment, queued, lfgStatus, lfmStatus, autoaddStatus = GetLookingForGroup()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "type1",
      ["desc"] = "The index of the first selected group type.",
    },
    {
      ["type"] = "number",
      ["name"] = "name1",
      ["desc"] = "The index of the first selected objective.",
    },
    {
      ["type"] = "number",
      ["name"] = "type2",
      ["desc"] = "The index of the second selected group type.",
    },
    {
      ["type"] = "number",
      ["name"] = "name2",
      ["desc"] = "The index of the second selected objective.",
    },
    {
      ["type"] = "number",
      ["name"] = "type3",
      ["desc"] = "The index of the third selected group type.",
    },
    {
      ["type"] = "number",
      ["name"] = "name3",
      ["desc"] = "The index of the third selected objective.",
    },
    {
      ["type"] = "number",
      ["name"] = "lfmType",
      ["desc"] = "The index of the selected group type on the LFM tab.",
    },
    {
      ["type"] = "number",
      ["name"] = "lfmName",
      ["desc"] = "The index of the selected objective on the LFM tab.",
    },
    {
      ["type"] = "string",
      ["name"] = "comment",
      ["desc"] = "The comment enterd on the LFG tab.",
    },
    {
      ["type"] = "boolean",
      ["name"] = "queued",
      ["desc"] = "true if the player is queued to join a group ( Auto Join is ticked ), false otherwise",
    },
    {
      ["type"] = "boolean",
      ["name"] = "lfgStatus",
      ["desc"] = "true if the player is looking for a group, false otherwise",
    },
    {
      ["type"] = "boolean",
      ["name"] = "lfmStatus",
      ["desc"] = "true if the player is looking for more players for his group, false otherwise",
    },
    {
      ["type"] = "boolean",
      ["name"] = "autoaddStatus",
      ["desc"] = "true if the player choose to automatically add members to his group that fit the criteria, false otherwise",
    },
  },
  ["desc"] = "Retrieves information about the players LFG status.",
}
GetLootMethod = {
  ["arguments"] = {
  },
  ["name"] = "GetLootMethod",
  ["signature"] = "lootMethod, partyMaster, raidMaster  = GetLootMethod()",
  ["returns"] = {
    {
      ["name"] = "lootMethod",
      ["type"] = "string",
      ["values"] = {
        ["master"] = "Master Looter",
        ["needbeforegreed"] = "Need before Greed",
        ["freeforall"] = "Free for All",
        ["roundrobin"] = "Round Robin",
        ["group"] = "Group Loot",
      },
      ["desc"] = "The currently active loot method.",
    },
    {
      ["type"] = "number",
      ["name"] = "partyMaster",
      ["desc"] = "The party unit id of the player currently being the loot master.",
    },
    {
      ["type"] = "number",
      ["name"] = "raidMaster",
      ["desc"] = "The raid unit id of the player currently being the loot master.",
    },
  },
  ["desc"] = "Retrieves information about the groups loot setting.",
}
GetLootRollItemInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of the loot roll.  Each new item that is rolled on increments this number by one so two items won't have the same roll index.",
    },
  },
  ["name"] = "GetLootRollItemInfo",
  ["signature"] = "texture, name, count, quality, bindOnPickUp = GetLootRollItemInfo(id)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The icon texture of the item.",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item.",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The stacksize of the item.",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The quality of the item.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "bindOnPickUp",
      ["desc"] = "1 if the item is bind on pickup, nil otherwise.",
    },
  },
  ["desc"] = "Returns information about the specified item to roll on.",
}
GetLootRollItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of the loot roll.  Each new item that is rolled on increments this number by one so two items won't have the same roll index",
    },
  },
  ["name"] = "GetLootRollItemLink",
  ["signature"] = "link = GetLootRollItemLink(id)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "An item link for the given loot roll item",
    },
  },
  ["desc"] = "Returns an item link for the specified item",
}
GetLootRollTimeLeft = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of the loot roll.  Each new item that is rolled on increments this number by one so two items won't have the same roll index.",
    },
  },
  ["name"] = "GetLootRollTimeLeft",
  ["signature"] = "timeLeft = GetLootRollTimeLeft(id)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeLeft",
      ["desc"] = "The amount of time left on given the loot roll, in milliseconds",
    },
  },
  ["desc"] = "Returns the amount of time left on the given loot roll, in milliseconds.",
}
GetLootSlotInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of the loot item",
    },
  },
  ["name"] = "GetLootSlotInfo",
  ["signature"] = "texture, item, quantity, quality, locked  = GetLootSlotInfo(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path of the graphical icon for the item",
    },
    {
      ["type"] = "string",
      ["name"] = "item",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "number",
      ["name"] = "quantity",
      ["desc"] = "The quantity of the item in the stack. Quantity for coins is always 0",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Common or Quest item",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The quality of the item",
    },
    {
      ["type"] = "boolean",
      ["name"] = "locked",
      ["desc"] = "Whether the item is locked by having an action run on it currently.",
    },
  },
  ["desc"] = "Returns the information for a loot slot item",
}
GetLootSlotLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "A slot index in the loot window",
    },
  },
  ["name"] = "GetLootSlotLink",
  ["signature"] = "link = GetLootSlotLink(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "An item link for the given item",
    },
  },
  ["desc"] = "Returns an item link for a given loot window slot",
}
GetLootThreshold = {
  ["arguments"] = {
  },
  ["name"] = "GetLootThreshold",
  ["signature"] = "threshold = GetLootThreshold()",
  ["returns"] = {
    {
      ["name"] = "threshold",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Common",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "Loot threshold",
    },
  },
  ["desc"] = "Returns the current loot threshold setting.",
}
GetMacroBody = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The macro index to query.  The \"global\" macro ids are 1-18, while the player specific macros are stored in 19-36.",
    },
  },
  ["name"] = "GetMacroBody",
  ["signature"] = "body = GetMacroBody(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "body",
      ["desc"] = "The body of the macro, as a text string",
    },
  },
  ["desc"] = "Returns the body of a given macro index",
}
GetMacroIconInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a macro icon",
    },
  },
  ["name"] = "GetMacroIconInfo",
  ["signature"] = "texture = GetMacroIconInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the macro's icon texture",
    },
  },
  ["desc"] = "Returns the texture for a given macro icon index",
}
GetMacroIndexByName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of a macro",
    },
  },
  ["name"] = "GetMacroIndexByName",
  ["signature"] = "index = GetMacroIndexByName(\"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the given named macro, or 0",
    },
  },
  ["desc"] = "Converts a macro name to macro index",
}
GetMacroInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "macroIndex",
      ["desc"] = "The macro index to query.  Macros 1-18 are the general macros, while 19-36 are character specific.",
    },
  },
  ["name"] = "GetMacroInfo",
  ["signature"] = "name, texture, body, isLocal = GetMacroInfo(macroIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the macro",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the macro's icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "body",
      ["desc"] = "The body of the macro",
    },
    {
      ["type"] = "unknown",
      ["name"] = "isLocal",
      ["desc"] = "Purpose unknown",
    },
  },
  ["desc"] = "Returns name, texture and body of a given macro",
}
GetMacroItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "macroIndex",
          ["desc"] = "The index of a macro to query",
        },
        {
          ["type"] = "string",
          ["name"] = "macroName",
          ["desc"] = "The name of a macro to query",
        },
      },
    },
  },
  ["name"] = "GetMacroItem",
  ["signature"] = "name, link = GetMacroItem(macroIndex or \"macroName\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item that will be used by the given macro",
    },
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "An item link for the given item",
    },
  },
  ["desc"] = "Returns information about a macro, if it's next action would be to use an item",
}
GetMacroItemIconInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the icon to query",
    },
  },
  ["name"] = "GetMacroItemIconInfo",
  ["signature"] = "texture  = GetMacroItemIconInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
  },
  ["desc"] = "Returns the texture for macro item icons",
}
GetMacroSpell = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The macro slot to query",
    },
  },
  ["name"] = "GetMacroSpell",
  ["signature"] = "name, rank = GetMacroSpell(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell the macro is set to cast",
    },
    {
      ["type"] = "string",
      ["name"] = "rank",
      ["desc"] = "The rank of the spell, if applicable",
    },
  },
  ["desc"] = "Returns the spell a given macro is set to cast",
}
GetManaRegen = {
  ["arguments"] = {
  },
  ["name"] = "GetManaRegen",
  ["signature"] = "base, casting = GetManaRegen()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "base",
      ["desc"] = "The amount of mana the player regens each tick while not casting",
    },
    {
      ["type"] = "number",
      ["name"] = "casting",
      ["desc"] = "The amount of mana the player regens each tick while casting",
    },
  },
  ["desc"] = "Returns the mana regeneration statistics for the player. Return values are in mana per second.",
}
GetMapContinents = {
  ["arguments"] = {
  },
  ["name"] = "GetMapContinents",
  ["signature"] = "... = GetMapContinents()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "The names of all valid continent names, as a list of strings",
    },
  },
  ["desc"] = "Returns a list of the map continents",
}
GetMapInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetMapInfo",
  ["signature"] = "mapFileName, textureHeight, textureWidth = GetMapInfo()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "mapFileName",
      ["desc"] = "The name of the file containing the textures for the current world map",
    },
    {
      ["type"] = "number",
      ["name"] = "textureHeight",
      ["desc"] = "The height of the specified texture",
    },
    {
      ["type"] = "string",
      ["name"] = "textureWidth",
      ["desc"] = "The width of the specified texture",
    },
  },
  ["desc"] = "Returns the map information about the current world map texture",
}
GetMapLandmarkInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a map landmark, from 1 to GetNumMapLandmarks()",
    },
  },
  ["name"] = "GetMapLandmarkInfo",
  ["signature"] = "name, description, textureIndex, x, y  = GetMapLandmarkInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the landmark",
    },
    {
      ["type"] = "string",
      ["name"] = "description",
      ["desc"] = "The description of the landmark.  This may contain dynamic information such as in the battlegrounds.",
    },
    {
      ["type"] = "number",
      ["name"] = "textureIndex",
      ["desc"] = "The index of the texture to be used for the landmark.  These indices map to the Interface/MinimapPOIIcons.blp graphic, starting with 1 in the upper left-hand corner of the image.",
    },
    {
      ["type"] = "number",
      ["name"] = "x",
      ["desc"] = "The x coordinate for the image's location as a proportion of the map's current width",
    },
    {
      ["type"] = "number",
      ["name"] = "y",
      ["desc"] = "The y coordinate for the image's localtion as a proportion of the map's current height",
    },
  },
  ["desc"] = "Returns information about a map landmark",
}
GetMapOverlayInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a world map overlay",
    },
  },
  ["name"] = "GetMapOverlayInfo",
  ["signature"] = "textureName, textureWidth, textureHeight, offsetX, offsetY, mapPointX, mapPointY  = GetMapOverlayInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "textureName",
      ["desc"] = "The path to the overlay texture file",
    },
    {
      ["type"] = "number",
      ["name"] = "textureWidth",
      ["desc"] = "The width of the texture, in pixels",
    },
    {
      ["type"] = "number",
      ["name"] = "textureHeight",
      ["desc"] = "The height of the texture, in pixels",
    },
    {
      ["type"] = "number",
      ["name"] = "offsetX",
      ["desc"] = "The X offset for anchoring the overlay with relation to the world map",
    },
    {
      ["type"] = "number",
      ["name"] = "offsetY",
      ["desc"] = "The Y offset for anchoring the overlay with relation to the world map",
    },
    {
      ["type"] = "number",
      ["name"] = "mapPointX",
      ["desc"] = "Unknown, always seems to return 0",
    },
    {
      ["type"] = "number",
      ["name"] = "mapPointY",
      ["desc"] = "Unknown, always seems to return 0",
    },
  },
  ["desc"] = "Returns information about a world map overlay",
}
GetMapZones = {
  ["arguments"] = {
    {
      ["name"] = "continentIndex",
      ["type"] = "number",
      ["values"] = {
        "Kalimdor",
        "Eastern Kingdoms",
        "Outland",
      },
      ["desc"] = "The index of a world continent",
    },
  },
  ["name"] = "GetMapZones",
  ["signature"] = "... = GetMapZones(continentIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of strings containing all of the map zones in the given continent",
    },
  },
  ["desc"] = "Returns the map zones for a given continent",
}
GetMasterLootCandidate = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "party or raid index. 1-4 for party, 1-40 for raid.",
    },
  },
  ["name"] = "GetMasterLootCandidate",
  ["signature"] = "candidate = GetMasterLootCandidate(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "candidate",
      ["desc"] = "Name of the candidate",
    },
  },
  ["desc"] = "Returns information about a given loot candidate",
}
GetMaxDailyQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetMaxDailyQuests",
  ["signature"] = "max = GetMaxDailyQuests()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "max",
      ["desc"] = "The maximum number of daily quests that can be completed each day",
    },
  },
  ["desc"] = "Returns the maximum number of daily quests that can be completed each day.",
}
GetMerchantItemCostInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the item to query",
    },
  },
  ["name"] = "GetMerchantItemCostInfo",
  ["signature"] = "honorPoints, arenaPoints, itemCount = GetMerchantItemCostInfo(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "honorPoints",
      ["desc"] = "The cost of the item, in honor points",
    },
    {
      ["type"] = "number",
      ["name"] = "arenaPoints",
      ["desc"] = "The cost of the item, in arena points",
    },
    {
      ["type"] = "number",
      ["name"] = "itemCount",
      ["desc"] = "The cost of the item, in some item currency",
    },
  },
  ["desc"] = "Returns the cost of a merchant item, in honor points, arena points, and marks",
}
GetMerchantItemCostItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an item in the merchant window",
    },
    {
      ["type"] = "number",
      ["name"] = "itemIndex",
      ["desc"] = "The index of the item cost associated with the item for sale.  For the PVP mount rewards, there are three different items costs, 30 marks from each battleground.  The first item cost can be queried with an itemIndex of 1, and so on.",
    },
  },
  ["name"] = "GetMerchantItemCostItem",
  ["signature"] = "itemTexture, itemValue  = GetMerchantItemCostItem(index, itemIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "itemTexture",
      ["desc"] = "The texture for the item that is acting as currency",
    },
    {
      ["type"] = "number",
      ["name"] = "itemValue",
      ["desc"] = "The number of items required for the given purchase",
    },
  },
  ["desc"] = "Returns information about an item used as currency to purchase another item (such as battleground rewards)",
}
GetMerchantItemInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetMerchantItemInfo",
  ["signature"] = "name, texture, price, quantity, numAvailable, isUsable, extendedCost  = GetMerchantItemInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "price",
      ["desc"] = "The price of the item, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "quantity",
      ["desc"] = "The number of items per stack",
    },
    {
      ["type"] = "number",
      ["name"] = "numAvailable",
      ["desc"] = "The number of items available for purchase",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is usable, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "extendedCost",
      ["desc"] = "1 if the item has an extended cost (alternate currency) such as arena or honor points",
    },
  },
  ["desc"] = "Returns information about an item available at a merchant",
}
GetMerchantItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the item whos link you want returned, should be within 1 to GetMerchantNumItems().",
    },
  },
  ["name"] = "GetMerchantItemLink",
  ["signature"] = "itemLink = GetMerchantItemLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "itemLink",
      ["desc"] = "The link of the item being queried or nil if the index is not valid.",
    },
  },
  ["desc"] = "Returns the full link of the item in question, or nil if the index is out of range.",
}
GetMerchantItemMaxStack = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The merchant index of the desired merchant item",
    },
  },
  ["name"] = "GetMerchantItemMaxStack",
  ["signature"] = "maxStack = GetMerchantItemMaxStack(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "maxStack",
      ["desc"] = "The largest quantity of the item you can purchase at once",
    },
  },
  ["desc"] = "Determines how many of a merchant item you can purchase in one transaction",
}
GetMerchantNumItems = {
  ["arguments"] = {
  },
  ["name"] = "GetMerchantNumItems",
  ["signature"] = "numMerchantItems = GetMerchantNumItems()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMerchantItems",
      ["desc"] = "The number of items a merchant has to sell",
    },
  },
  ["desc"] = "Returns the total number of items a merchant has to sell",
}
GetMinigameState = {
  ["arguments"] = {
  },
  ["name"] = "GetMinigameState",
  ["signature"] = "GetMinigameState()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetMinigameType = {
  ["arguments"] = {
  },
  ["name"] = "GetMinigameType",
  ["signature"] = "gameType = GetMinigameType()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "gameType",
      ["desc"] = "Returns the type of minigame used",
    },
  },
  ["desc"] = "Returns the minigame type of the active minigame",
}
GetMinimapZoneText = {
  ["arguments"] = {
  },
  ["name"] = "GetMinimapZoneText",
  ["signature"] = "zoneText = GetMinimapZoneText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "zoneText",
      ["desc"] = "The name of the area the player is current in.",
    },
  },
  ["desc"] = "Returns the zone text for use on the Minimap.",
}
GetMirrorTimerInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the timer to query",
    },
  },
  ["name"] = "GetMirrorTimerInfo",
  ["signature"] = "timer, value, maxvalue, scale, paused, label = GetMirrorTimerInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "timer",
      ["desc"] = "The name of the timer",
    },
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The current value of the timer",
    },
    {
      ["type"] = "number",
      ["name"] = "maxvalue",
      ["desc"] = "The maximum value of the timer",
    },
    {
      ["type"] = "number",
      ["name"] = "scale",
      ["desc"] = "The scale to multiply the timer by",
    },
    {
      ["type"] = "number",
      ["name"] = "paused",
      ["desc"] = "If the timer is paused",
    },
    {
      ["type"] = "string",
      ["name"] = "label",
      ["desc"] = "The label to be displayed on the timer",
    },
  },
  ["desc"] = "Returns information about a mirror timer bar",
}
GetMirrorTimerProgress = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "timer",
      ["desc"] = "The type of timer to check",
    },
  },
  ["name"] = "GetMirrorTimerProgress",
  ["signature"] = "progress = GetMirrorTimerProgress(\"timer\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "progress",
      ["desc"] = "The progress of the timer in milliseconds",
    },
  },
  ["desc"] = "Returns the progress of a mirror timer (breath, exhaustion, etc.)",
}
GetModifiedClick = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the modified click to query",
    },
  },
  ["name"] = "GetModifiedClick",
  ["signature"] = "modifiers = GetModifiedClick(\"name\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "modifiers",
      ["desc"] = "The modifiers set for the given modified click (nil if the modified click could not be found)",
    },
  },
  ["desc"] = "Returns the modifiers set (for example \"CTRL-SHIFT\") for the given modified click",
}
GetModifiedClickAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a modified click action.  Valid indices seem to be between 1 and GetNumModifiedClickActions(), with not every single index returning an action",
    },
  },
  ["name"] = "GetModifiedClickAction",
  ["signature"] = "action = GetModifiedClickAction(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "action",
      ["desc"] = "The name/token for the given action",
    },
  },
  ["desc"] = "Returns the token/name for a modified click action",
}
GetMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetMoney",
  ["signature"] = "money = GetMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "Amount of money the player possesses - in copper.",
    },
  },
  ["desc"] = "Return the amount of money the player currently possesses.",
}
GetMouseButtonClicked = {
  ["arguments"] = {
  },
  ["name"] = "GetMouseButtonClicked",
  ["signature"] = "button = GetMouseButtonClicked()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "button",
      ["desc"] = "The name of the mouse button that triggered the given click",
    },
  },
  ["desc"] = "Returns which mouse button triggered the current click",
}
GetMouseButtonName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "buttonNumber",
      ["desc"] = "A mouse button number (1-5)",
    },
  },
  ["name"] = "GetMouseButtonName",
  ["signature"] = "buttonName = GetMouseButtonName(buttonNumber)",
  ["returns"] = {
    {
      ["name"] = "buttonName",
      ["type"] = "string",
      ["values"] = {
        "LeftButton",
        "RightButton",
        "MiddleButton",
        "Button4",
        "Button5",
      },
      ["desc"] = "The name of the given mouse button",
    },
  },
  ["desc"] = "Converts a mouse button number to a mouse button name",
}
GetMouseFocus = {
  ["arguments"] = {
  },
  ["name"] = "GetMouseFocus",
  ["signature"] = "frame  = GetMouseFocus()",
  ["returns"] = {
    {
      ["type"] = "table",
      ["name"] = "frame",
      ["desc"] = "The frame that currently has the mouse focus",
    },
  },
  ["desc"] = "Returns the frame that is currently under the mouse, and has mouse input enabled.",
}
GetMultisampleFormats = {
  ["arguments"] = {
  },
  ["name"] = "GetMultisampleFormats",
  ["signature"] = "color, depth, multisample, ... = GetMultisampleFormats()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "color",
      ["desc"] = "The color depth as a number.  Possible values would include 16 for 16-bit color depth, 24 for 24-bit, etc.",
    },
    {
      ["type"] = "number",
      ["name"] = "depth",
      ["desc"] = "The video depth in bits",
    },
    {
      ["type"] = "number",
      ["name"] = "multisample",
      ["desc"] = "The multisampling setting",
    },
    {
      ["type"] = "list",
      ["name"] = "...",
      ["desc"] = "A list of color, depth, multisample values listing the available multi-sample formats available to the client",
    },
  },
  ["desc"] = "Returns the available multi-sample formats",
}
GetMuteName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an entry in the mute listing",
    },
  },
  ["name"] = "GetMuteName",
  ["signature"] = "name  = GetMuteName(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player being voice muted",
    },
  },
  ["desc"] = "Gets name of a character on the player's mute list",
}
GetMuteStatus = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unitId",
          ["desc"] = "The unitId to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The name of the player to query",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "mode",
      ["desc"] = "Either \"party\", \"raid\" or nil.",
    },
  },
  ["name"] = "GetMuteStatus",
  ["signature"] = "muteStatus  = GetMuteStatus(\"unitId\", \"mode\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "muteStatus",
      ["desc"] = "1 if the player is muted, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given player or unitId is muted",
}
GetNetStats = {
  ["arguments"] = {
  },
  ["name"] = "GetNetStats",
  ["signature"] = "bandwidthIn, bandwidthOut, latency = GetNetStats()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "bandwidthIn",
      ["desc"] = "The current incomming bandwidth (download) usage, measured in KB/s",
    },
    {
      ["type"] = "number",
      ["name"] = "bandwidthOut",
      ["desc"] = "The current outgoing bandwidth (upload) usage, measured in KB/s",
    },
    {
      ["type"] = "number",
      ["name"] = "latency",
      ["desc"] = "The current latency to the server, measured in milliseconds",
    },
  },
  ["desc"] = "Returns the game's network statistics",
}
GetNewSocketInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The socket index",
    },
  },
  ["name"] = "GetNewSocketInfo",
  ["signature"] = "name, icon, gemMatchesSocket = GetNewSocketInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the gem that would be socketed",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the new gem's icon texture",
    },
    {
      ["type"] = "1nil",
      ["name"] = "gemMatchesSocket",
      ["desc"] = "1 if the gem being socketed matches the socket color, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a gem that would be socketed",
}
GetNewSocketLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the item socket to query",
    },
  },
  ["name"] = "GetNewSocketLink",
  ["signature"] = "link = GetNewSocketLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link of the gem to be set in the given socket",
    },
  },
  ["desc"] = "Returns an item link for a gem to be socketed",
}
GetNextStableSlotCost = {
  ["arguments"] = {
  },
  ["name"] = "GetNextStableSlotCost",
  ["signature"] = "money = GetNextStableSlotCost()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The cost of the next available stable slot, in copper",
    },
  },
  ["desc"] = "Returns the cost of the next available stable slot",
}
GetNumActiveQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetNumActiveQuests",
  ["signature"] = "numActiveQuests = GetNumActiveQuests()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numActiveQuests",
      ["desc"] = "Number of currently active quests from this NPC",
    },
  },
  ["desc"] = "Returns the number of currently active quests by this player for this NPC",
}
GetNumAddOns = {
  ["arguments"] = {
  },
  ["name"] = "GetNumAddOns",
  ["signature"] = "numEntrys = GetNumAddOns()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numEntrys",
      ["desc"] = "The number of addons in the addon listing",
    },
  },
  ["desc"] = "Returns the number of addons in the addon listing",
}
GetNumArenaTeamMembers = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "teamindex",
      ["desc"] = "The index of the arena team, based on the order they are displayed in the PvP tab.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "showOffline",
      ["desc"] = "1 to show offline members, otherwise nil. This argument is not working as of Patch 2.3",
    },
  },
  ["name"] = "GetNumArenaTeamMembers",
  ["signature"] = "numMembers = GetNumArenaTeamMembers(teamindex [,showOffline])",
  ["returns"] = {
  },
  ["desc"] = "Returns the number of members in a given arena team",
}
GetNumAuctionItems = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed up for auction",
        ["list"] = "Auctions available for purchase",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction listing to query",
    },
  },
  ["name"] = "GetNumAuctionItems",
  ["signature"] = "numBatchAuctions, totalAuctions = GetNumAuctionItems(\"type\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numBatchAuctions",
      ["desc"] = "The number of auctions in the current page of the listing",
    },
    {
      ["type"] = "number",
      ["name"] = "totalAuctions",
      ["desc"] = "The number of total auctions available for the given listing",
    },
  },
  ["desc"] = "Returns the number of auction items for a given type of listing",
}
GetNumAvailableQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetNumAvailableQuests",
  ["signature"] = "numAvailableQuests = GetNumAvailableQuests()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numAvailableQuests",
      ["desc"] = "The number of available quests",
    },
  },
  ["desc"] = "Returns the number of available quests at the current NPC",
}
GetNumBankSlots = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBankSlots",
  ["signature"] = "numSlots, isFull = GetNumBankSlots()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSlots",
      ["desc"] = "The number of slots you have purchased",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isFull",
      ["desc"] = "A flag indicating that you cannot purchase any more slots",
    },
  },
  ["desc"] = "Returns information about purchased bank bag slots",
}
GetNumBattlefieldFlagPositions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBattlefieldFlagPositions",
  ["signature"] = "numFlags = GetNumBattlefieldFlagPositions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numFlags",
      ["desc"] = "The number of battlefield flags to display.",
    },
  },
  ["desc"] = "Returns the number of battlefield flags in the current zone.",
}
GetNumBattlefieldPositions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBattlefieldPositions",
  ["signature"] = "numTeamMembers = GetNumBattlefieldPositions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTeamMembers",
      ["desc"] = "Number of Team Members currently on the battlefield",
    },
  },
  ["desc"] = "Returns the number of team members currently on the battlefield",
}
GetNumBattlefieldScores = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBattlefieldScores",
  ["signature"] = "numScores = GetNumBattlefieldScores()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numScores",
      ["desc"] = "Number of scores in the current battlefield, or 0 if not current in a battlefield,",
    },
  },
  ["desc"] = "Returns the number of scores available in the current battlefield",
}
GetNumBattlefieldStats = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBattlefieldStats",
  ["signature"] = "numStats = GetNumBattlefieldStats()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numStats",
      ["desc"] = "The number of battlefield specific columns to be displayed in the final score frame",
    },
  },
  ["desc"] = "Returns the number of battlefield specific columns to be displayed in the final score frame",
}
GetNumBattlefields = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBattlefields",
  ["signature"] = "numBattlefields = GetNumBattlefields()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numBattlefields",
      ["desc"] = "The number of available battlefields.  If the player is not currently conversing with a battlemaster, this function may return 0 or an older cached value.",
    },
  },
  ["desc"] = "Returns the number of available battlefields",
}
GetNumBindings = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBindings",
  ["signature"] = "numBindings = GetNumBindings()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numBindings",
      ["desc"] = "The number of key binding actions available to be bound to key combinations",
    },
  },
  ["desc"] = "Returns the number of key binding actions listed in the Key Bindings window.",
}
GetNumBuybackItems = {
  ["arguments"] = {
  },
  ["name"] = "GetNumBuybackItems",
  ["signature"] = "numBuybackItems = GetNumBuybackItems()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numBuybackItems",
      ["desc"] = "The number of items available to be re-purchased",
    },
  },
  ["desc"] = "Returns the number of items available on the buyback tab",
}
GetNumChannelMembers = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "Chat Channel ID",
    },
  },
  ["name"] = "GetNumChannelMembers",
  ["signature"] = "numMembers = GetNumChannelMembers(id)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMembers",
      ["desc"] = "Number of players in the queried chat channel.",
    },
  },
  ["desc"] = "Returns the number of members in a specific chat channel.",
}
GetNumDeclensionSets = {
  ["name"] = "GetNumDeclensionSets",
  ["signature"] = "numSets = GetNumDeclensionSets(\"name\", gender)",
  ["desc"] = "This function is not currently used",
}
GetNumDisplayChannels = {
  ["arguments"] = {
  },
  ["name"] = "GetNumDisplayChannels",
  ["signature"] = "channelCount = GetNumDisplayChannels()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "channelCount",
      ["desc"] = "The number of channels (including headers) displayed in the chat tab channel display",
    },
  },
  ["desc"] = "Returns the number of channels in the channel display",
}
GetNumFactions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumFactions",
  ["signature"] = "numFactions = GetNumFactions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numFactions",
      ["desc"] = "The number of factions the player has encountered.",
    },
  },
  ["desc"] = "Returns the number of factions the player has encountered",
}
GetNumFrames = {
  ["arguments"] = {
  },
  ["name"] = "GetNumFrames",
  ["signature"] = "numFrames = GetNumFrames()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numFrames",
      ["desc"] = "The number of frame objects (and derivatives) created.  This value does not include textures and fontstrings.",
    },
  },
  ["desc"] = "Returns the number of created frame objects (and derivatives)",
}
GetNumFriends = {
  ["arguments"] = {
  },
  ["name"] = "GetNumFriends",
  ["signature"] = "numFriends = GetNumFriends()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numFriends",
      ["desc"] = "The number of friends on the player's friend list",
    },
  },
  ["desc"] = "Returns the number of friends on the player's friend list",
}
GetNumGossipActiveQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGossipActiveQuests",
  ["signature"] = "num = GetNumGossipActiveQuests()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "num",
      ["desc"] = "The number of currently active quests in the gossip window",
    },
  },
  ["desc"] = "Returns the number of currently active quests in the gossip window",
}
GetNumGossipAvailableQuests = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGossipAvailableQuests",
  ["signature"] = "num = GetNumGossipAvailableQuests()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "num",
      ["desc"] = "The number of available quests in the gossip window",
    },
  },
  ["desc"] = "Returns the number of available quests in the gossip window",
}
GetNumGossipOptions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGossipOptions",
  ["signature"] = "numOptions = GetNumGossipOptions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numOptions",
      ["desc"] = "Number of gossip options available in the current instance",
    },
  },
  ["desc"] = "Returns the number of options in the current gossip frame",
}
GetNumGuildBankMoneyTransactions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGuildBankMoneyTransactions",
  ["signature"] = "numTransactions = GetNumGuildBankMoneyTransactions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTransactions",
      ["desc"] = "The number of guild bank money transactions available for the money log",
    },
  },
  ["desc"] = "Returns the number of guild bank money transactions available for the money log",
}
GetNumGuildBankTabs = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGuildBankTabs",
  ["signature"] = "numTabs = GetNumGuildBankTabs()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTabs",
      ["desc"] = "Number of purchased guildbank tabs.  This value returns 0 if the player is unguilded.",
    },
  },
  ["desc"] = "Gives the number of purchased tabs for the guildbank",
}
GetNumGuildBankTransactions = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of the guild bank tab to query.",
    },
  },
  ["name"] = "GetNumGuildBankTransactions",
  ["signature"] = "numTransactions  = GetNumGuildBankTransactions(tab)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTransactions",
      ["desc"] = "The number of transactions that happend on the selected guild bank tab.",
    },
  },
  ["desc"] = "Returns the number of transactions for the specified guild bank tab.",
}
GetNumGuildEvents = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGuildEvents",
  ["signature"] = "numEvents = GetNumGuildEvents()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numEvents",
      ["desc"] = "Returns the number of guild log events available.  These entries are only made available via event callback from the function QueryGuildEventLog().",
    },
  },
  ["desc"] = "Returns the number of available guild events for the guild log",
}
GetNumGuildMembers = {
  ["arguments"] = {
  },
  ["name"] = "GetNumGuildMembers",
  ["signature"] = "numGuildMembers = GetNumGuildMembers()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numGuildMembers",
      ["desc"] = "The number of members in the player's guild",
    },
  },
  ["desc"] = "Returns the number of members in the player's guild",
}
GetNumIgnores = {
  ["arguments"] = {
  },
  ["name"] = "GetNumIgnores",
  ["signature"] = "numIgnores = GetNumIgnores()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numIgnores",
      ["desc"] = "The number of people currently on the ignore list",
    },
  },
  ["desc"] = "Returns the number of people currently on the player's ignore list",
}
GetNumLFGResults = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "type",
      ["desc"] = "The type of LFGQuery, obtained from GetLFGTypes()",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a LFG entry, obtained from GetLFGTypeEntries()",
    },
  },
  ["name"] = "GetNumLFGResults",
  ["signature"] = "numResults, totalCount = GetNumLFGResults(type, index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numResults",
      ["desc"] = "The number of results available",
    },
    {
      ["type"] = "number",
      ["name"] = "totalCount",
      ["desc"] = "The total number of results",
    },
  },
  ["desc"] = "Returns the number of results from a LFG query",
}
GetNumLanguages = {
  ["name"] = "GetNumLanguages",
  ["signature"] = "numLanguages = GetNumLanguages()",
  ["desc"] = "Returns the number of languages the player's character can speak",
}
GetNumLootItems = {
  ["arguments"] = {
  },
  ["name"] = "GetNumLootItems",
  ["signature"] = "numItems = GetNumLootItems()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "The number of the items available to be looted",
    },
  },
  ["desc"] = "Returns the number of items available to be looted",
}
GetNumMacroIcons = {
  ["arguments"] = {
  },
  ["name"] = "GetNumMacroIcons",
  ["signature"] = "numMacroIcons = GetNumMacroIcons()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMacroIcons",
      ["desc"] = "The number of available macro icons",
    },
  },
  ["desc"] = "Returns the number of available macro icons",
}
GetNumMacroItemIcons = {
  ["arguments"] = {
  },
  ["name"] = "GetNumMacroItemIcons",
  ["signature"] = "numIcons = GetNumMacroItemIcons()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numIcons",
      ["desc"] = "The number of available macro item icons",
    },
  },
  ["desc"] = "Returns the number of available macro item icons.",
}
GetNumMacros = {
  ["arguments"] = {
  },
  ["name"] = "GetNumMacros",
  ["signature"] = "numAccountMacros, numCharacterMacros = GetNumMacros()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numAccountMacros",
      ["desc"] = "The number of account-wide macros stored",
    },
    {
      ["type"] = "number",
      ["name"] = "numCharacterMacros",
      ["desc"] = "The number of character specific macros stored",
    },
  },
  ["desc"] = "Returns the number of macros the player has stored",
}
GetNumMapLandmarks = {
  ["arguments"] = {
  },
  ["name"] = "GetNumMapLandmarks",
  ["signature"] = "numPOIs = GetNumMapLandmarks()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numPOIs",
      ["desc"] = "The number of points of interest on the world map",
    },
  },
  ["desc"] = "Returns the number of point of interest on the world map",
}
GetNumMapOverlays = {
  ["arguments"] = {
  },
  ["name"] = "GetNumMapOverlays",
  ["signature"] = "numOverlays = GetNumMapOverlays()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numOverlays",
      ["desc"] = "The number of overlays for the given world map.  An overlay is an area that can be discovered, revealing that part of the map.",
    },
  },
  ["desc"] = "Returns the number of overlays for the current world map",
}
GetNumModifiedClickActions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumModifiedClickActions",
  ["signature"] = "num = GetNumModifiedClickActions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "num",
      ["desc"] = "The number of modified click actions. This function may return a nonsense value when there are no modified click actions loaded.",
    },
  },
  ["desc"] = "Returns the number of registeredd modifed click actions.",
}
GetNumMutes = {
  ["arguments"] = {
  },
  ["name"] = "GetNumMutes",
  ["signature"] = "numMuted = GetNumMutes()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMuted",
      ["desc"] = "The number of characters on the player's mute list",
    },
  },
  ["desc"] = "Returns the number of characters on the player's mute list",
}
GetNumPackages = {
  ["arguments"] = {
  },
  ["name"] = "GetNumPackages",
  ["signature"] = "numPackages = GetNumPackages()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numPackages",
      ["desc"] = "Number of packages.",
    },
  },
  ["desc"] = "Returns the number of packages.",
}
GetNumPartyMembers = {
  ["arguments"] = {
  },
  ["name"] = "GetNumPartyMembers",
  ["signature"] = "numPartyMembers = GetNumPartyMembers()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numPartyMembers",
      ["desc"] = "Number of members in your party.",
    },
  },
  ["desc"] = "Returns the number of players in your party.",
}
GetNumPetitionItems = {
  ["arguments"] = {
  },
  ["name"] = "GetNumPetitionItems",
  ["signature"] = "GetNumPetitionItems()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetNumPetitionNames = {
  ["arguments"] = {
  },
  ["name"] = "GetNumPetitionNames",
  ["signature"] = "numNames = GetNumPetitionNames()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numNames",
      ["desc"] = "The number of names that have currently signed the open petition",
    },
  },
  ["desc"] = "Returns the number of people who have signed the open petition",
}
GetNumQuestChoices = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestChoices",
  ["signature"] = "numQuestChoices  = GetNumQuestChoices()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numQuestChoices",
      ["desc"] = "The number of quest choices the current npc has available",
    },
  },
  ["desc"] = "Returns the number of quest choices the current npc has available",
}
GetNumQuestItems = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestItems",
  ["signature"] = "numRequiredItems = GetNumQuestItems()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numRequiredItems",
      ["desc"] = "The number of required items to complete the quest",
    },
  },
  ["desc"] = "Returns the number of items necessary to complete the active quest",
}
GetNumQuestLeaderBoards = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "index",
      ["desc"] = "The index of a quest in the quest log.  This will default to GetQuestLogSelection() if index isn't supplied",
    },
  },
  ["name"] = "GetNumQuestLeaderBoards",
  ["signature"] = "numObjectives = GetNumQuestLeaderBoards([index])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numObjectives",
      ["desc"] = "The number of trackable quest objectives",
    },
  },
  ["desc"] = "Returns the number of quest objectives for a given quest",
}
GetNumQuestLogChoices = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestLogChoices",
  ["signature"] = "numChoices = GetNumQuestLogChoices()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numChoices",
      ["desc"] = "The number of reward choices for the currently selected quest in the quest log",
    },
  },
  ["desc"] = "Returns the number of reward choices for the currently selected quest in the quest log",
}
GetNumQuestLogEntries = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestLogEntries",
  ["signature"] = "numEntries = GetNumQuestLogEntries()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numEntries",
      ["desc"] = "The number of quest log entries",
    },
  },
  ["desc"] = "Returns the number of quest log entries",
}
GetNumQuestLogRewards = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestLogRewards",
  ["signature"] = "numRewards = GetNumQuestLogRewards()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numRewards",
      ["desc"] = "The number of rewards for this quest",
    },
  },
  ["desc"] = "Returns the count of the rewards for a particular quest",
}
GetNumQuestRewards = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestRewards",
  ["signature"] = "numQuestRewards = GetNumQuestRewards()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numQuestRewards",
      ["desc"] = "The number of quest rewards you are guaranteed to get upon completion of the currently displayed quest.",
    },
  },
  ["desc"] = "Returns the number of quest rewards for completing a quest",
}
GetNumQuestWatches = {
  ["arguments"] = {
  },
  ["name"] = "GetNumQuestWatches",
  ["signature"] = "GetNumQuestWatches()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numWatches",
      ["desc"] = "The number of quests from the quest log currently marked for watching",
    },
  },
  ["desc"] = "Returns the number of quests currently marked for objective watching",
}
GetNumRaidMembers = {
  ["arguments"] = {
  },
  ["name"] = "GetNumRaidMembers",
  ["signature"] = "numRaidMembers = GetNumRaidMembers()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numRaidMembers",
      ["desc"] = "The number of members in the current raid, or 0.  This value will include the player, as a member of the raid",
    },
  },
  ["desc"] = "Returns the number of members of the player's raid",
}
GetNumRoutes = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Taxi Node index",
    },
  },
  ["name"] = "GetNumRoutes",
  ["signature"] = "numRoutes = GetNumRoutes(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numRoutes",
      ["desc"] = "Number of routes from this node.",
    },
  },
  ["desc"] = "Returns then number of routes available from a given taxi node.",
}
GetNumSavedInstances = {
  ["arguments"] = {
  },
  ["name"] = "GetNumSavedInstances",
  ["signature"] = "savedInstances  = GetNumSavedInstances()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "savedInstances",
      ["desc"] = "The number of instances the player is currently saved to",
    },
  },
  ["desc"] = "Returns the number of instances the player is saved to",
}
GetNumShapeshiftForms = {
  ["arguments"] = {
  },
  ["name"] = "GetNumShapeshiftForms",
  ["signature"] = "numForms = GetNumShapeshiftForms()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numForms",
      ["desc"] = "The number of available shapeshift forms for the player",
    },
  },
  ["desc"] = "Returns the number of available shapeshift forms for the player",
}
GetNumSkillLines = {
  ["arguments"] = {
  },
  ["name"] = "GetNumSkillLines",
  ["signature"] = "numSkills = GetNumSkillLines()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSkills",
      ["desc"] = "The number of skills the player currently knows.",
    },
  },
  ["desc"] = "Returns the number of skills to be listed in the Skills window.",
}
GetNumSockets = {
  ["arguments"] = {
  },
  ["name"] = "GetNumSockets",
  ["signature"] = "numSockets = GetNumSockets()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSockets",
      ["desc"] = "The number of available sockets for the open item.",
    },
  },
  ["desc"] = "Returns the number of sockets in the open item",
}
GetNumSpellTabs = {
  ["arguments"] = {
  },
  ["name"] = "GetNumSpellTabs",
  ["signature"] = "numSkillLineTabs = GetNumSpellTabs()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTabs",
      ["desc"] = "The number of spell tabs",
    },
  },
  ["desc"] = "Returns the number of spell tabs the player has available",
}
GetNumStablePets = {
  ["arguments"] = {
  },
  ["name"] = "GetNumStablePets",
  ["signature"] = "numPets = GetNumStablePets()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numPets",
      ["desc"] = "The number of stabled pets.  This value does not include your current pet.",
    },
  },
  ["desc"] = "Returns the number of stabled pets",
}
GetNumStableSlots = {
  ["arguments"] = {
  },
  ["name"] = "GetNumStableSlots",
  ["signature"] = "numSlots = GetNumStableSlots()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSlots",
      ["desc"] = "The number of stable slots the player currently owns.",
    },
  },
  ["desc"] = "Returns the number of stable slots the player has purchased.",
}
GetNumStationeries = {
  ["arguments"] = {
  },
  ["name"] = "GetNumStationeries",
  ["signature"] = "numStationeries = GetNumStationeries()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numStationeries",
      ["desc"] = "The number of available stationeries",
    },
  },
  ["desc"] = "Returns the number of available stationeries",
}
GetNumTalentTabs = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "inspect",
      ["desc"] = "true to query the currently inspected unit, false to query talent info for the player",
    },
  },
  ["name"] = "GetNumTalentTabs",
  ["signature"] = "numTabs = GetNumTalentTabs(inspect)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTabs",
      ["desc"] = "The number of talent tabs",
    },
  },
  ["desc"] = "Returns the number of talent tabs for the player, or a the currently inspected unit",
}
GetNumTalents = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tabIndex",
      ["desc"] = "The index of the talent tab to query",
    },
  },
  ["name"] = "GetNumTalents",
  ["signature"] = "numTalents  = GetNumTalents(tabIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTalents",
      ["desc"] = "The number of talent spells in the given tab.  This function is used internally by the default interface to draw the talent trees.",
    },
  },
  ["desc"] = "Returns the number of talent spell options in a given tab.",
}
GetNumTitles = {
  ["arguments"] = {
  },
  ["name"] = "GetNumTitles",
  ["signature"] = "numTitles = GetNumTitles()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numTitles",
      ["desc"] = "The number of available player titles",
    },
  },
  ["desc"] = "Returns the number of available player titles",
}
GetNumTrackingTypes = {
  ["arguments"] = {
  },
  ["name"] = "GetNumTrackingTypes",
  ["signature"] = "count  = GetNumTrackingTypes()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of available tracking types",
    },
  },
  ["desc"] = "Returns the number of available tracking types",
}
GetNumTradeSkills = {
  ["arguments"] = {
  },
  ["name"] = "GetNumTradeSkills",
  ["signature"] = "numSkills = GetNumTradeSkills()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSkills",
      ["desc"] = "The number of trade skills including headers",
    },
  },
  ["desc"] = "Returns the number of available trade skill items and headers",
}
GetNumTrainerServices = {
  ["arguments"] = {
  },
  ["name"] = "GetNumTrainerServices",
  ["signature"] = "numServices = GetNumTrainerServices()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numServices",
      ["desc"] = "The number of available trainer service",
    },
  },
  ["desc"] = "Returns the number of available trainer services",
}
GetNumVoiceSessionMembersBySessionID = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "sessionId",
      ["desc"] = "A unique session ID returned from ChannelPulloutRoster_GetSessionIDByName()",
    },
  },
  ["name"] = "GetNumVoiceSessionMembersBySessionID",
  ["signature"] = "numMembers  = GetNumVoiceSessionMembersBySessionID(sessionId)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMembers",
      ["desc"] = "The number of members in a given voice channel",
    },
  },
  ["desc"] = "Returns the number of members in a voice channel",
}
GetNumVoiceSessions = {
  ["arguments"] = {
  },
  ["name"] = "GetNumVoiceSessions",
  ["signature"] = "count = GetNumVoiceSessions()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of voice sessions",
    },
  },
  ["desc"] = "Returns the number of voice sessions the player is in",
}
GetNumWhoResults = {
  ["arguments"] = {
  },
  ["name"] = "GetNumWhoResults",
  ["signature"] = "numResults, totalCount = GetNumWhoResults()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numResults",
      ["desc"] = "The number of results returned",
    },
    {
      ["type"] = "number",
      ["name"] = "totalCount",
      ["desc"] = "The number of actual results",
    },
  },
  ["desc"] = "Returns the number of results from a who request",
}
GetNumWorldStateUI = {
  ["arguments"] = {
  },
  ["name"] = "GetNumWorldStateUI",
  ["signature"] = "numUI = GetNumWorldStateUI()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numUI",
      ["desc"] = "Returns the number of current world state lines.",
    },
  },
  ["desc"] = "Returns the number of world state lines (Arathi Basin Points, Black Morass Portals etc.)",
}
GetObjectiveText = {
  ["arguments"] = {
  },
  ["name"] = "GetObjectiveText",
  ["signature"] = "questObjective = GetObjectiveText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "questObjective",
      ["desc"] = "The objective text for the currently displayed quest",
    },
  },
  ["desc"] = "Returns the objective text for the currently displayed quest",
}
GetOptOutOfLoot = {
  ["name"] = "GetOptOutOfLoot",
  ["signature"] = "isOptingOut = GetOptOutOfLoot()",
  ["desc"] = "Returns `1` if you are opting out of loot, otherwise `nil`.",
}
GetOwnerAuctionItems = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "page",
      ["desc"] = "Which page of self-posted auctions to query.",
    },
  },
  ["name"] = "GetOwnerAuctionItems",
  ["signature"] = "GetOwnerAuctionItems(page)",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for a page of self-posted auctions.",
}
GetPVPDesired = {
  ["arguments"] = {
  },
  ["name"] = "GetPVPDesired",
  ["signature"] = "isPVPDesired = GetPVPDesired()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "isPVPDesired",
      ["desc"] = "1 if the PVP flag was toggled on by the player manually, 0 otherwise",
    },
  },
  ["desc"] = "Returns whether or not the player has manually toggled the PVP flag on",
}
GetPVPLifetimeStats = {
  ["arguments"] = {
  },
  ["name"] = "GetPVPLifetimeStats",
  ["signature"] = "hk, highestRank = GetPVPLifetimeStats()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "hk",
      ["desc"] = "The number of honorable kills the player has achieved",
    },
    {
      ["type"] = "number",
      ["name"] = "highestRank",
      ["desc"] = "The highest PvP rank the player has achieved",
    },
  },
  ["desc"] = "Returns lifetime honorable kills, and the highest PvP rank the player has attained.",
}
GetPVPRankInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The PvP index to query.  This index begins at 1, which maps to a negative PvP rank called \"Pariah\".  The inital PVP rank is found at index 5.",
    },
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "A unit to use as the base faction for the PvP info.  The faction of the rank name (i.e. Legionnaire versus Knight-Captain for rank 8) is determined by the faction of this unit",
    },
  },
  ["name"] = "GetPVPRankInfo",
  ["signature"] = "rankName, rankNumber = GetPVPRankInfo(index [, \"unit\"])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "rankName",
      ["desc"] = "The name of the PvP rank for the given faction",
    },
    {
      ["type"] = "number",
      ["name"] = "rankNumber",
      ["desc"] = "The numeric rank.  This will be different from the rank that was passed in as an argument.",
    },
  },
  ["desc"] = "Returns information about a given PvP rank index",
}
GetPVPRankProgress = {
  ["arguments"] = {
  },
  ["name"] = "GetPVPRankProgress",
  ["signature"] = "GetPVPRankProgress()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetPVPSessionStats = {
  ["arguments"] = {
  },
  ["name"] = "GetPVPSessionStats",
  ["signature"] = "honorKills, honorPoints = GetPVPSessionStats()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "honorKills",
      ["desc"] = "The estimated number of honor kills for the given session",
    },
    {
      ["type"] = "number",
      ["name"] = "honorPoints",
      ["desc"] = "The estimated number of honor points for the given session",
    },
  },
  ["desc"] = "Returns the pvp stats for the current session",
}
GetPVPTimer = {
  ["arguments"] = {
  },
  ["name"] = "GetPVPTimer",
  ["signature"] = "timer = GetPVPTimer()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timer",
      ["desc"] = "If PVP is enabled, this value returns 300000.  If PVP is disabled, then this value will return -1, otherwise it is the number of milliseconds until the PVP flag turns off.",
    },
  },
  ["desc"] = "Returns the amount of time until the player's PVP flag expires",
}
GetPVPYesterdayStats = {
  ["arguments"] = {
  },
  ["name"] = "GetPVPYesterdayStats",
  ["signature"] = "kills, honor  = GetPVPYesterdayStats()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "kills",
      ["desc"] = "The amount of honor kills the player earned yesterday",
    },
    {
      ["type"] = "number",
      ["name"] = "honor",
      ["desc"] = "The amount of honor points earned yesterday",
    },
  },
  ["desc"] = "Returns the player's PVP stats from yesterday",
}
GetPackageInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Package Index. Between 1 and GetNumPackages()",
    },
  },
  ["name"] = "GetPackageInfo",
  ["signature"] = "name, texture, somenumber = GetPackageInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Package name",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "Icon for this package",
    },
    {
      ["type"] = "number",
      ["name"] = "somenumber",
      ["desc"] = "??",
    },
  },
  ["desc"] = "Returns information on the given package.  Does not seem implemented by Blizzard, index 1 always returns a 'Test Package'.",
}
GetParryChance = {
  ["arguments"] = {
  },
  ["name"] = "GetParryChance",
  ["signature"] = "chance = GetParryChance()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "chance",
      ["desc"] = "Player's Parry chance in percentage",
    },
  },
  ["desc"] = "Returns the player's percentage parry chance",
}
GetPartyAssignment = {
  ["arguments"] = {
    {
      ["name"] = "assignment",
      ["type"] = "string",
      ["values"] = {
        ["MAINASSIST"] = "The player is assigned as a main assist",
        ["MAINTANK"] = "The player is assigned as a main tank",
      },
      ["desc"] = "The assignment to query",
    },
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
    {
      ["type"] = "1nil",
      ["name"] = "exactMatch",
      ["desc"] = "Used when the \"name\" argument is supplied, 1 to match the name exactly otherwise match the closest name",
    },
  },
  ["name"] = "GetPartyAssignment",
  ["signature"] = "isAssigned = GetPartyAssignment(\"assignment\" [,\"unit\" or \"name\"] [,exactMatch])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isAssigned",
      ["desc"] = "1 if the player is assigned the specified role, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a player is assigned a specific role (maintank, mainassist)",
}
GetPartyLeaderIndex = {
  ["arguments"] = {
  },
  ["name"] = "GetPartyLeaderIndex",
  ["signature"] = "index = GetPartyLeaderIndex()",
  ["returns"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        "party1 is the party leader",
        "party2 is the party leader",
        "party3 is the party leader",
        "party4 is the party leader",
        [0] = "The player is not in a party, or the player is the party leader",
      },
      ["desc"] = "The index of the party leader, or 0.",
    },
  },
  ["desc"] = "Returns the index of the current party leader",
}
GetPartyMember = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the party member to query (1-4)",
    },
  },
  ["name"] = "GetPartyMember",
  ["signature"] = "hasMember = GetPartyMember(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasMember",
      ["desc"] = "1 if there is a party member at the given index of the player's party, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given party index is exists in the player's party",
}
GetPetActionCooldown = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The pet action slot to query for cooldown information",
    },
  },
  ["name"] = "GetPetActionCooldown",
  ["signature"] = "start, duration, enable = GetPetActionCooldown(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The value of GetTime() at the moment the cooldown began, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The length of the cooldown, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "enable",
      ["desc"] = "1 if the cooldown is enabled, otherwise 0",
    },
  },
  ["desc"] = "Returns cooldown information about a given pet action slot",
}
GetPetActionInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the pet action, on the pet's action bar",
    },
  },
  ["name"] = "GetPetActionInfo",
  ["signature"] = "name, subtext, texture, isToken, isActive, autoCastAllowed, autoCastEnabled = GetPetActionInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the action",
    },
    {
      ["type"] = "string",
      ["name"] = "subtext",
      ["desc"] = "The subtext for the action (passive, Rank 1, etc.)",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the action's icon texture",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isToken",
      ["desc"] = "1 if the name/texture were token strings such as PET_ACTION_ATTACK and PET_ATTACK_TEXTURE rather than raw name/texture",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isActive",
      ["desc"] = "1 if the action is currently active, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "autoCastAllowed",
      ["desc"] = "1 if autocast is allowed for the given action",
    },
    {
      ["type"] = "1nil",
      ["name"] = "autoCastEnabled",
      ["desc"] = "1 if autocast is enabled for the given action",
    },
  },
  ["desc"] = "Returns information about a pet action",
}
GetPetActionsUsable = {
  ["arguments"] = {
  },
  ["name"] = "GetPetActionsUsable",
  ["signature"] = "petActionsUsable = GetPetActionsUsable()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "petActionsUsable",
      ["desc"] = "1 if the pet's actions are usable, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the pet's actions are usable",
}
GetPetExperience = {
  ["arguments"] = {
  },
  ["name"] = "GetPetExperience",
  ["signature"] = "currXP, nextXP  = GetPetExperience()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "currXP",
      ["desc"] = "The current experience value for the pet",
    },
    {
      ["type"] = "number",
      ["name"] = "nextXP",
      ["desc"] = "The experience required to reach the next level",
    },
  },
  ["desc"] = "Returns the pet's current experience, and the amount required to level",
}
GetPetFoodTypes = {
  ["arguments"] = {
  },
  ["name"] = "GetPetFoodTypes",
  ["signature"] = "GetPetFoodTypes()",
  ["returns"] = {
    {
      ["name"] = "...",
      ["type"] = "string",
      ["values"] = {
        ["Fish"] = "Fish products",
        ["Fungus"] = "Mushrooms and the like",
        ["Meat"] = "Meat products",
        ["Bread"] = "Baked goods",
        ["Cheese"] = "Cheese products",
        ["Fruit"] = "Fruit products",
      },
      ["desc"] = "A list of available food types for the current pet or nil if no food types available",
    },
  },
  ["desc"] = "Returns a list of strings enumerating the food types your current pet can eat.",
}
GetPetHappiness = {
  ["arguments"] = {
  },
  ["name"] = "GetPetHappiness",
  ["signature"] = "happiness, damagePercentage, loyaltyRate = GetPetHappiness()",
  ["returns"] = {
    {
      ["name"] = "happiness",
      ["type"] = "number",
      ["values"] = {
        "Unhappy",
        "Content",
        "Happy",
      },
      ["desc"] = "The happiness level of the pet",
    },
    {
      ["type"] = "number",
      ["name"] = "damagePercentage",
      ["desc"] = "The percentage multipler for the pet's damage.  This is affected by the pet's happiness",
    },
    {
      ["type"] = "number",
      ["name"] = "loyaltyRate",
      ["desc"] = "The current rate of loyalty gain or loss.  Positive values indicate that the pet is gaining loyalty, while negative values indicate the pet is losing loyalty",
    },
  },
  ["desc"] = "Returns information about the player's pet's happiness",
}
GetPetIcon = {
  ["arguments"] = {
  },
  ["name"] = "GetPetIcon",
  ["signature"] = "icon = GetPetIcon()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the pet's icon texture, or nil",
    },
  },
  ["desc"] = "Returns the icon the player's pet would have if stabled",
}
GetPetTimeRemaining = {
  ["arguments"] = {
  },
  ["name"] = "GetPetTimeRemaining",
  ["signature"] = "petTimeRemaining = GetPetTimeRemaining()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "petTimeRemaining",
      ["desc"] = "Time till despawn in milliseconds, nil without a temporary pet.",
    },
  },
  ["desc"] = "Returns the time till despawn of a temporary pet like shadowfriend and mages' water elemental.",
}
GetPetitionInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetPetitionInfo",
  ["signature"] = "petitionType, title, bodyText, maxSignatures, originatorName, isOriginator, minSignatures = GetPetitionInfo()",
  ["returns"] = {
    {
      ["name"] = "petitionType",
      ["type"] = "string",
      ["values"] = {
        ["guild"] = "A guild charter",
        ["arena"] = "An arena team charter",
      },
      ["desc"] = "The type of the petition",
    },
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "The title of the petition",
    },
    {
      ["type"] = "string",
      ["name"] = "bodyText",
      ["desc"] = "The text (body) of the petition",
    },
    {
      ["type"] = "number",
      ["name"] = "maxSignatures",
      ["desc"] = "The maximum number of signatures allowed",
    },
    {
      ["type"] = "string",
      ["name"] = "originatorName",
      ["desc"] = "The person who initially purchased the charter",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isOriginator",
      ["desc"] = "1 if the current player is the charter's originator",
    },
    {
      ["type"] = "number",
      ["name"] = "minSignatures",
      ["desc"] = "The minimum number of signatures required for this charter",
    },
  },
  ["desc"] = "Returns information about the currently open petition",
}
GetPetitionItemInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the petition item",
    },
  },
  ["name"] = "GetPetitionItemInfo",
  ["signature"] = "name, texture, price = GetPetitionItemInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the petition",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the petition's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "price",
      ["desc"] = "The cost of the petition, in copper",
    },
  },
  ["desc"] = "Returns information about a given petition to create an arena team.",
}
GetPetitionNameInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The signature slot in the open petition",
    },
  },
  ["name"] = "GetPetitionNameInfo",
  ["signature"] = "name = GetPetitionNameInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player that has signed the given slot",
    },
  },
  ["desc"] = "Returns the name of the player that has signed a given petition slot",
}
GetPlayerMapPosition = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "player",
      ["desc"] = "A unit id that refers to the current player or any player character in their party/raid.  ",
    },
  },
  ["name"] = "GetPlayerMapPosition",
  ["signature"] = "playerX, playerY = GetPlayerMapPosition(\"player\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "playerX",
      ["desc"] = "A number between 0 and 1 that is the specified unit's X map position on the current map zoom, from the left side of the map.  ",
    },
    {
      ["type"] = "number",
      ["name"] = "playerY",
      ["desc"] = "A number between 0 and 1 that is the specified unit's Y map position on the current map zoom, from the top of the map.  ",
    },
  },
  ["desc"] = "Returns a unit's position on the current map zoom.  ",
}
GetPlayerTradeMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetPlayerTradeMoney",
  ["signature"] = "copper  = GetPlayerTradeMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "copper",
      ["desc"] = "The amount of the player's money (in copper) currently in the trade window.",
    },
  },
  ["desc"] = "Returns the amount of money the player deposited in an open trade window.",
}
GetPossessInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the possess bar entry to query.",
    },
  },
  ["name"] = "GetPossessInfo",
  ["signature"] = "texture, name = GetPossessInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "Full path to the icon texture of the spell in the queried possess bar slot.",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell in the queried possess bar slot.",
    },
  },
  ["desc"] = "Returns information about the spells in the possess bar",
}
GetProgressText = {
  ["arguments"] = {
  },
  ["name"] = "GetProgressText",
  ["signature"] = "text = GetProgressText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The progress text for a given quest.  This is the text displayed when turning a quest into an NPC.  The progress text will be displayed, and the \"Continue\" option will be available to turn in the quest, as long as the objectives are complete",
    },
  },
  ["desc"] = "Returns the quest progress text given by an NPC",
}
GetQuestBackgroundMaterial = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestBackgroundMaterial",
  ["signature"] = "material = GetQuestBackgroundMaterial()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "material",
      ["desc"] = "The background material for the currently displayed quest.  Currently this returns nil, and defaults to \"parchment\" in the QuestFrame code",
    },
  },
  ["desc"] = "Returns the background material for a given quest",
}
GetQuestGreenRange = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestGreenRange",
  ["signature"] = "range = GetQuestGreenRange()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "range",
      ["desc"] = "The maximum level difference for a quest to show \"green\"",
    },
  },
  ["desc"] = "Returns the \"green\" range for quests",
}
GetQuestIndexForTimer = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Timer index to query",
    },
  },
  ["name"] = "GetQuestIndexForTimer",
  ["signature"] = "questIndex = GetQuestIndexForTimer(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "questIndex",
      ["desc"] = "QuestLog quest index",
    },
  },
  ["desc"] = "Returns the questlog quest index for the given timer in the QuestTimer frame.",
}
GetQuestIndexForWatch = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a quest in the \"watched\" quest list",
    },
  },
  ["name"] = "GetQuestIndexForWatch",
  ["signature"] = "questIndex = GetQuestIndexForWatch(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "questIndex",
      ["desc"] = "The index of the watched quest in the quest log",
    },
  },
  ["desc"] = "Returns the index in the quest log of a currently watched quest",
}
GetQuestItemInfo = {
  ["arguments"] = {
    {
      ["name"] = "itemType",
      ["type"] = "string",
      ["values"] = {
        ["choice"] = "Possible reward for the quest",
        ["required"] = "Required for the quest",
        ["reward"] = "Reward for the quest",
      },
      ["desc"] = "Type of quest item to filter on.",
    },
    {
      ["type"] = "number",
      ["name"] = "itemNum",
      ["desc"] = "The item number to get info on",
    },
  },
  ["name"] = "GetQuestItemInfo",
  ["signature"] = "name, texture, numItems, quality, isUsable  = GetQuestItemInfo(itemType, itemNum)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the quest item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the quest item's texture",
    },
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "How many of the quest item",
    },
    {
      ["type"] = "number",
      ["name"] = "quality",
      ["desc"] = "The quality of the quest item",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isUsable",
      ["desc"] = "If the quest item is usable by the current player",
    },
  },
  ["desc"] = "Returns basic information about the quest items for the quest currently shown in the gossip window.",
}
GetQuestItemLink = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["required"] = "A quest item required to complete the quest",
        ["reward"] = "A quest reward",
      },
      ["desc"] = "The type of quest item",
    },
  },
  ["name"] = "GetQuestItemLink",
  ["signature"] = "link = GetQuestItemLink(\"type\", index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link for the quest item",
    },
  },
  ["desc"] = "Returns an item link for a quest item (reward or requirement)",
}
GetQuestLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The quest log index for the desired link",
    },
  },
  ["name"] = "GetQuestLink",
  ["signature"] = "link = GetQuestLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The desired quest link",
    },
  },
  ["desc"] = "Gets a quest link for the given entry in your quest log",
}
GetQuestLogChoiceInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a quest reward choice",
    },
  },
  ["name"] = "GetQuestLogChoiceInfo",
  ["signature"] = "name, texture, numItems, quality, isUsable  = GetQuestLogChoiceInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The texture of the item",
    },
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The quality of the item",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is usable, otherwise nil",
    },
  },
  ["desc"] = "Returns information about an item available as a quest reward choice",
}
GetQuestLogGroupNum = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogGroupNum",
  ["signature"] = "suggestedGroup = GetQuestLogGroupNum()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "suggestedGroup",
      ["desc"] = "The suggested group size to complete the quest selected in the quest log, or 0",
    },
  },
  ["desc"] = "Returns the suggested group size to complete the currently selected quest",
}
GetQuestLogItemLink = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["choice"] = "The reward items the player can choose from upon finishing the quest.",
        ["required"] = "The items required to finish the quest.",
        ["reward"] = "The reward items the player always gets.",
      },
      ["desc"] = "The type of item on the questlog frame.",
    },
  },
  ["name"] = "GetQuestLogItemLink",
  ["signature"] = "itemLink = GetQuestLogItemLink(type, index)",
  ["returns"] = {
  },
  ["desc"] = "Returns the item link of a specific item in the quest log reward or progress frame.",
}
GetQuestLogLeaderBoard = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "objective",
      ["desc"] = "The index of the objective to query",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "questIndex",
      ["desc"] = "The index of the quest in the quest log.  If this isn't supplied, it defaults to the currently selected quest log entry.",
    },
  },
  ["name"] = "GetQuestLogLeaderBoard",
  ["signature"] = "text, type, finished  = GetQuestLogLeaderBoard(objective [, questIndex])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text of the objective",
    },
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        "item",
        "object",
        "monster",
        "reputation",
        "event",
      },
      ["desc"] = "The type of objective",
    },
    {
      ["type"] = "1nil",
      ["name"] = "finished",
      ["desc"] = "1 if the objective is complete, otherwise nil",
    },
  },
  ["desc"] = "Returns information about tracked quest objectives",
}
GetQuestLogPushable = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogPushable",
  ["signature"] = "pushable = GetQuestLogPushable()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "pushable",
      ["desc"] = "1 if the quest is shareable, nil otherwise",
    },
  },
  ["desc"] = "Determines if the currently selected quest can be shared with your party members.",
}
GetQuestLogQuestText = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogQuestText",
  ["signature"] = "questDescription, questObjectives  = GetQuestLogQuestText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "questDescription",
      ["desc"] = "The description of the quest.",
    },
    {
      ["type"] = "string",
      ["name"] = "questObjectives",
      ["desc"] = "The objectives of the quest.",
    },
  },
  ["desc"] = "Retrieves the text fields for the quest log details panel of the currently active quest.",
}
GetQuestLogRequiredMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogRequiredMoney",
  ["signature"] = "money = GetQuestLogRequiredMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of required money for the selected quest",
    },
  },
  ["desc"] = "Returns the amount of money required for the selected quest",
}
GetQuestLogRewardHonor = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogRewardHonor",
  ["signature"] = "honor = GetQuestLogRewardHonor()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "honor",
      ["desc"] = "The amount of honor rewarded for completing the quest",
    },
  },
  ["desc"] = "Returns the amount of honor rewarded for completing the currently selected quest in the quest log",
}
GetQuestLogRewardInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the entry in the quest log",
    },
  },
  ["name"] = "GetQuestLogRewardInfo",
  ["signature"] = "name, texture, numItems, quality, isUsable  = GetQuestLogRewardInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The quality of the item",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is usable by the player, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a quest reward",
}
GetQuestLogRewardMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogRewardMoney",
  ["signature"] = "money = GetQuestLogRewardMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money rewarded on quest completion, in copper",
    },
  },
  ["desc"] = "Returns the amount of money rewarded on quest completion.",
}
GetQuestLogRewardSpell = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogRewardSpell",
  ["signature"] = "texture, name, isTradeskillSpell, isSpellLearned  = GetQuestLogRewardSpell()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the spell icon's texture",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isTradeskillSpell",
      ["desc"] = "1 if the spell is a tradeskill recipe, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "idSpellLearned",
      ["desc"] = "1 if the reward spell will be learnt, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a quest reward spell",
}
GetQuestLogRewardTitle = {
  ["name"] = "GetQuestLogRewardTitle",
  ["signature"] = "title = GetQuestLogRewardTitle()",
  ["desc"] = "Returns the title you will be rewarded for completing the currently-displayed quest",
}
GetQuestLogSelection = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogSelection",
  ["signature"] = "questID  = GetQuestLogSelection()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "questID",
      ["desc"] = "The index of the quest that is currently selected",
    },
  },
  ["desc"] = "Returns the index of the currently selected quest in the quest log.",
}
GetQuestLogTimeLeft = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestLogTimeLeft",
  ["signature"] = "questTimer = GetQuestLogTimeLeft()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "questTimer",
      ["desc"] = "The amount of time left on the current timed quest",
    },
  },
  ["desc"] = "Returns the amount of time left on the current timed quest",
}
GetQuestLogTitle = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "questID",
      ["desc"] = "The index of the quest you wish to get information about",
    },
  },
  ["name"] = "GetQuestLogTitle",
  ["signature"] = "questLogTitleText, level, questTag, suggestedGroup, isHeader, isCollapsed, isComplete, isDaily  = GetQuestLogTitle(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "questLogTitleText",
      ["desc"] = "The title of the quest or nil if the index is out of range",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the quest",
    },
    {
      ["name"] = "questTag",
      ["type"] = "string",
      ["values"] = {
        ["Elite"] = "Elite quest",
        ["nil"] = "Standard quest",
        ["Dungeon"] = "Dungeon or instance quest",
        ["Heroic"] = "Heroic quest",
        ["PVP"] = "PVP specific quest",
        ["Raid"] = "Raid quest",
        ["Group"] = "Group quest",
      },
      ["desc"] = "The type of quest",
    },
    {
      ["type"] = "number",
      ["name"] = "suggestedGroup",
      ["desc"] = "If the questTag is Group, the positive number of players suggested for the quest, or nil",
    },
    {
      ["name"] = "isHeader",
      ["type"] = "1nil",
      ["values"] = {
        ["1"] = "The entry is a header",
        ["nil"] = "The entry is not a header",
      },
      ["desc"] = "Whether the entry is a header",
    },
    {
      ["name"] = "isCollapsed",
      ["type"] = "1nil",
      ["values"] = {
        ["1"] = "The entry is a collapsed header",
        ["nil"] = "The entry is not a header or not a header that is collapsed",
      },
      ["desc"] = "Whether the entry is a collapsed header",
    },
    {
      ["name"] = "isComplete",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "The quest was completed",
        ["nil"] = "The quest has yet to reach a conclusion",
        ["-1"] = "The quest was failed",
      },
      ["desc"] = "Whether the quest is complete",
    },
    {
      ["name"] = "isDaily",
      ["type"] = "1nil",
      ["values"] = {
        ["1"] = "The quest is a daily",
        ["nil"] = "The quest is not a daily",
      },
      ["desc"] = "Whether the quest is a daily",
    },
  },
  ["desc"] = "Returns information about a quest in your quest log",
}
GetQuestMoneyToGet = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestMoneyToGet",
  ["signature"] = "money = GetQuestMoneyToGet()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money required for the currently displayed quest in the gossip frame",
    },
  },
  ["desc"] = "Returns the amount of money required for the currently displayed quest in the gossip frame",
}
GetQuestResetTime = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestResetTime",
  ["signature"] = "time = GetQuestResetTime()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "time",
      ["desc"] = "The amount of time until daily quests reset, in seconds",
    },
  },
  ["desc"] = "Returns the amount of time until daily quests reset",
}
GetQuestReward = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "choice",
      ["desc"] = "The quest reward choice",
    },
  },
  ["name"] = "GetQuestReward",
  ["signature"] = "GetQuestReward(choice)",
  ["returns"] = {
  },
  ["desc"] = "Selects an offered quest reward without confirmation",
}
GetQuestText = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestText",
  ["signature"] = "text = GetQuestText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text for the currently displayed quest",
    },
  },
  ["desc"] = "Returns the text for the currently displayed quest",
}
GetQuestTimers = {
  ["arguments"] = {
  },
  ["name"] = "GetQuestTimers",
  ["signature"] = "... = GetQuestTimers()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "...",
      ["desc"] = "A list of all active quest timers.",
    },
  },
  ["desc"] = "Returns a list of the remaining time of all active quest timers. ",
}
GetRaidRosterInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the raid member",
    },
  },
  ["name"] = "GetRaidRosterInfo",
  ["signature"] = "name, rank, subgroup, level, class, fileName, zone, online, isDead, role, isML = GetRaidRosterInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["name"] = "rank",
      ["type"] = "number",
      ["values"] = {
        "Raid Assistant",
        "Raid Leader",
        [0] = "Raid Member",
      },
      ["desc"] = "The player's rank in the raid",
    },
    {
      ["type"] = "number",
      ["name"] = "subgroup",
      ["desc"] = "The raid subgroup that the player belongs to",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The player's level",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The localized name of the player's class",
    },
    {
      ["name"] = "fileName",
      ["type"] = "string",
      ["values"] = {
        "WARRIOR",
        "PRIEST",
        "ROGUE",
        "MAGE",
        "DRUID",
        "HUNTER",
        "WARLOCK",
        "PALADIN",
        "SHAMAN",
      },
      ["desc"] = "The uppercase english name of the player's class",
    },
    {
      ["type"] = "string",
      ["name"] = "zone",
      ["desc"] = "The name of the zone the player is currently in",
    },
    {
      ["type"] = "1nil",
      ["name"] = "online",
      ["desc"] = "1 if the player is currently online, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isDead",
      ["desc"] = "1 if the player is currently dead, otherwise nil",
    },
    {
      ["name"] = "role",
      ["type"] = "string",
      ["values"] = {
        "MAINTANK",
        "MAINASSIST",
      },
      ["desc"] = "The player's role, or nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isML",
      ["desc"] = "1 if the player is the master-looter, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a member of the player's raid",
}
GetRaidRosterSelection = {
  ["arguments"] = {
  },
  ["name"] = "GetRaidRosterSelection",
  ["signature"] = "raidIndex = GetRaidRosterSelection()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "raidIndex",
      ["desc"] = "The index of the raid member currently being dragged by the mouse.  If a member was currently selected and moved, this function will continue to return that value until a new raid member has been selected",
    },
  },
  ["desc"] = "Returns the index of the raid member currently selected by the mouse",
}
GetRaidTargetIndex = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "GetRaidTargetIndex",
  ["signature"] = "raidTargetIndex  = GetRaidTargetIndex(unit)",
  ["returns"] = {
    {
      ["name"] = "raidTargetIndex",
      ["type"] = "number",
      ["values"] = {
        "Star",
        "Circle",
        "Diamond",
        "Triangle",
        "Moon",
        "Square",
        "Cross",
        "Skull",
      },
      ["desc"] = "The index of the current raid target",
    },
  },
  ["desc"] = "Returns the raid target on the given unit",
}
GetRangedCritChance = {
  ["arguments"] = {
  },
  ["name"] = "GetRangedCritChance",
  ["signature"] = "critChance = GetRangedCritChance()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "critChance",
      ["desc"] = "The player's critical strike chance with the currently equipped ranged weapon, as a floating point number",
    },
  },
  ["desc"] = "Returns the player's ranged critical strike chance",
}
GetReadyCheckStatus = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit in question",
    },
  },
  ["name"] = "GetReadyCheckStatus",
  ["signature"] = "status = GetReadyCheckStatus(unit)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "status",
      ["values"] = {
        ["\"waiting\""] = "The player has not yet responded to the ready check",
        ["nil"] = "No ready check is in progress",
        ["\"notready\""] = "The given player has responded to the ready check as being not ready, or did not respond before the time ran out",
        ["\"ready\""] = "The given player has responded to the ready check as being ready",
      },
    },
  },
  ["desc"] = "Gets the given player's response to a ready check",
}
GetReadyCheckTimeLeft = {
  ["name"] = "GetReadyCheckTimeLeft",
  ["signature"] = "timeLeft = GetReadyCheckTimeLeft()",
  ["desc"] = "Returns the amount of time left on the current ready check",
}
GetRealNumPartyMembers = {
  ["arguments"] = {
  },
  ["name"] = "GetRealNumPartyMembers",
  ["signature"] = "numMembers = GetRealNumPartyMembers()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMembers",
      ["desc"] = "The number of members in the player's actual party.  This function is necessary in order to distinguish between the player's actual party, and any parties they may belong to in a battleground/arena.",
    },
  },
  ["desc"] = "Returns the number of members in the player's \"real\" non-battleground party",
}
GetRealNumRaidMembers = {
  ["arguments"] = {
  },
  ["name"] = "GetRealNumRaidMembers",
  ["signature"] = "numMembers = GetRealNumRaidMembers()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numMembers",
      ["desc"] = "The number of members in the player's actual raid group.  This function is necessary in order to distinguish between the player's actual raid group, and any raid group they may belong to in a battleground/arena.",
    },
  },
  ["desc"] = "Returns the number of members in the player's \"real\" non-battleground raid group",
}
GetRealZoneText = {
  ["arguments"] = {
  },
  ["name"] = "GetRealZoneText",
  ["signature"] = "zoneName = GetRealZoneText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "zoneName",
      ["desc"] = "The real name of the instance or zone name",
    },
  },
  ["desc"] = "When in an instance, returns the real name of the instance, not the name in the Minimap",
}
GetRealmName = {
  ["arguments"] = {
  },
  ["name"] = "GetRealmName",
  ["signature"] = "realm = GetRealmName()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "realm",
      ["desc"] = "The name of the player's realm (server)",
    },
  },
  ["desc"] = "Returns the name of the player's realm (server name)",
}
GetRefreshRates = {
  ["arguments"] = {
  },
  ["name"] = "GetRefreshRates",
  ["signature"] = "... = GetRefreshRates()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "...",
      ["desc"] = "A list of all available refresh rates.",
    },
  },
  ["desc"] = "Returns a list of all available refresh rates for the current system.",
}
GetReleaseTimeRemaining = {
  ["arguments"] = {
  },
  ["name"] = "GetReleaseTimeRemaining",
  ["signature"] = "timeleft = GetReleaseTimeRemaining()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeleft",
      ["desc"] = "The amount of time left until the player is auto-released from their body",
    },
  },
  ["desc"] = "Returns the amount of time left until the player is automatically released from their body",
}
GetRepairAllCost = {
  ["arguments"] = {
  },
  ["name"] = "GetRepairAllCost",
  ["signature"] = "repairAllCost, canRepair = GetRepairAllCost()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "repairAllCost",
      ["desc"] = "The cost to repair all items, in copper.  If the player doesn't need to repair any items, this returns 0.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "canRepair",
      ["desc"] = "1 if the player needs to, and can repair.  This return is used to enable/disable the repair all button in the merchant frame.",
    },
  },
  ["desc"] = "Returns the cost to repair all damaged items",
}
GetResSicknessDuration = {
  ["arguments"] = {
  },
  ["name"] = "GetResSicknessDuration",
  ["signature"] = "resSicknessTime = GetResSicknessDuration()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "resSicknessTime",
      ["desc"] = "The duration of resurrection sickness at the player's current level.  This function returns nil for players under level 10, since they cannot get resurrection sickness.",
    },
  },
  ["desc"] = "Returns the duration of resurrection sickness at the player's current level",
}
GetRestState = {
  ["arguments"] = {
  },
  ["name"] = "GetRestState",
  ["signature"] = "state, name, multiplier  = GetRestState()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "state",
      ["desc"] = "The player's current rest state",
    },
    {
      ["name"] = "name",
      ["type"] = "string",
      ["values"] = {
        ["normal"] = "Normal Experience",
        ["tired"] = "Tired - Used in the chinese system",
        ["rested"] = "Rested Experience",
        ["unhealthy"] = "Unhealthy - Used in the chinese system.",
      },
      ["desc"] = "The name of the player's current rest state",
    },
    {
      ["name"] = "multiplier",
      ["type"] = "number",
      ["values"] = {
        "Normal experience",
        "200% experience",
      },
      ["desc"] = "The experience multiplier currently active for the player",
    },
  },
  ["desc"] = "Returns the player's current rest state",
}
GetRewardHonor = {
  ["arguments"] = {
  },
  ["name"] = "GetRewardHonor",
  ["signature"] = "honor  = GetRewardHonor()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "honor",
      ["desc"] = "The amount of reward honor for the displayed quest",
    },
  },
  ["desc"] = "Returns the amount of reward honor for the displayed quest.",
}
GetRewardMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetRewardMoney",
  ["signature"] = "money  = GetRewardMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money rewarded for the quest, in copper",
    },
  },
  ["desc"] = "Returns the amount of money rewarded for the quest that is currently being viewed.",
}
GetRewardSpell = {
  ["arguments"] = {
  },
  ["name"] = "GetRewardSpell",
  ["signature"] = "texture, name, isTradeskillSpell, isSpellLearned = GetRewardSpell()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the spell's icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isTradeskillSpell",
      ["desc"] = "1 if the spell is a tradeskill spell, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isSpellLearned",
      ["desc"] = "1 if the reward teaches the player a new spell",
    },
  },
  ["desc"] = "Returns information about a spell quest reward",
}
GetRewardText = {
  ["arguments"] = {
  },
  ["name"] = "GetRewardText",
  ["signature"] = "text = GetRewardText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The reward text of the quest that is waiting to be completed, or the empty string",
    },
  },
  ["desc"] = "Returns the reward text of the quest at the quest completion frame",
}
GetRewardTitle = {
  ["name"] = "GetRewardTitle",
  ["signature"] = "title = GetRewardTitle()",
  ["desc"] = "Returns the title you will be rewarded for completing the quest currently displayed in by an NPC",
}
GetRunningMacro = {
  ["arguments"] = {
  },
  ["name"] = "GetRunningMacro",
  ["signature"] = "macroIdx = GetRunningMacro",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "macroIdx",
      ["desc"] = "The index of the curently running macro, or nil",
    },
  },
  ["desc"] = "Returns the index of the currently running macro.",
}
GetRunningMacroButton = {
  ["arguments"] = {
  },
  ["name"] = "GetRunningMacroButton",
  ["signature"] = "button = GetRunningMacroButton()",
  ["returns"] = {
    {
      ["name"] = "button",
      ["type"] = "string",
      ["values"] = {
        "LeftButton",
        "RightButton",
        "MiddleButton",
        "Button4",
        "Button5",
      },
      ["desc"] = "The mouse button that was used to activate the macro.  If the macro was triggered by a keybinding the mouse button will be \"LeftButton\".",
    },
  },
  ["desc"] = "Returns the mouse button that was used to activate the running macro",
}
GetSavedInstanceInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Saved instance ID to query between 1 and GetNumSavedInstances()",
    },
  },
  ["name"] = "GetSavedInstanceInfo",
  ["signature"] = "instanceName, instanceID, instanceReset  = GetSavedInstanceInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "instanceName",
      ["desc"] = "Name of the instance",
    },
    {
      ["type"] = "number",
      ["name"] = "instanceID",
      ["desc"] = "ID of the instance",
    },
    {
      ["type"] = "number",
      ["name"] = "instanceReset",
      ["desc"] = "Timestamp indicating time till reset",
    },
  },
  ["desc"] = "Returns information on a specific instance the character is saved to.",
}
GetScreenHeight = {
  ["arguments"] = {
  },
  ["name"] = "GetScreenHeight",
  ["signature"] = "height = GetScreenHeight()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "height",
      ["desc"] = "Current screen height in pixels.",
    },
  },
  ["desc"] = "Returns the current screen height. This value is affected by scale. To get the true screen height in pixels divide by GetScreenHeightScale().",
}
GetScreenResolutions = {
  ["arguments"] = {
  },
  ["name"] = "GetScreenResolutions",
  ["signature"] = "... = GetScreenResolutions()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of available screen resolutions, as strings. For example \"800x600\" and \"1024x768\".",
    },
  },
  ["desc"] = "Returns the available screen resolutions",
}
GetScreenWidth = {
  ["arguments"] = {
  },
  ["name"] = "GetScreenWidth",
  ["signature"] = "screenWidth = GetScreenWidth()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "screenWidth",
      ["desc"] = "The width of the client's screen, in pixels.  Note that this may not be the width you expect from the video settings, for example '1680x1050' reports back a screen width of 1595.844",
    },
  },
  ["desc"] = "Query the width of the screen.",
}
GetScriptCPUUsage = {
  ["arguments"] = {
  },
  ["name"] = "GetScriptCPUUsage",
  ["signature"] = "time = GetScriptCPUUsage()",
  ["returns"] = {
  },
  ["desc"] = "Returns the total time used by the scripting subsystem",
}
GetSelectedAuctionItem = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions available for bidding/purchasing",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction house listing",
    },
  },
  ["name"] = "GetSelectedAuctionItem",
  ["signature"] = "index = GetSelectedAuctionItem(\"type\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the currently selected auction item",
    },
  },
  ["desc"] = "Returns the index of the currently selected auction house item",
}
GetSelectedBattlefield = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedBattlefield",
  ["signature"] = "index = GetSelectedBattlefield()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The current selected battlefield index, in the battlemaster window",
    },
  },
  ["desc"] = "Returns the currently selected battlefield index",
}
GetSelectedDisplayChannel = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedDisplayChannel",
  ["signature"] = "channelID = GetSelectedDisplayChannel()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "channelID",
      ["desc"] = "The channelID of the channel selected in the \"Chat\" tab of the \"Social\" panel",
    },
  },
  ["desc"] = "Returns the channelID of the selected channel in the \"Chat\" interface",
}
GetSelectedFaction = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedFaction",
  ["signature"] = "factionIndex = GetSelectedFaction()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "factionIndex",
      ["desc"] = "The currently selected faction index",
    },
  },
  ["desc"] = "Returns the currently selected faction index",
}
GetSelectedFriend = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedFriend",
  ["signature"] = "index  = GetSelectedFriend()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of your selected friend, or 0 if no friend is selected",
    },
  },
  ["desc"] = "Returns the friend index of the friend you have selected",
}
GetSelectedIgnore = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedIgnore",
  ["signature"] = "index = GetSelectedIgnore()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The currently selected ignore index",
    },
  },
  ["desc"] = "Returns the currently selected index in the ignore listing",
}
GetSelectedMute = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedMute",
  ["signature"] = "selectedMute = GetSelectedMute()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "selectedMute",
      ["desc"] = "The index of the selected muted player in the list of muted players",
    },
  },
  ["desc"] = "Returns the index of the selected muted player in the muted list",
}
GetSelectedSkill = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedSkill",
  ["signature"] = "skillIndex = GetSelectedSkill()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "skillIndex",
      ["desc"] = "The currently selected skill index, as listed in the Skills window.  The skill lines are numbered including the headers.",
    },
  },
  ["desc"] = "Returns the currently selected skill index, as listed in the Skills window",
}
GetSelectedStablePet = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedStablePet",
  ["signature"] = "selectedPet = GetSelectedStablePet()",
  ["returns"] = {
    {
      ["name"] = "selectedPet",
      ["type"] = "number",
      ["values"] = {
        "The first stable slot is selected",
        "The second stable slot is selected",
        [0] = "The currently controlled pet is selected",
        [-1] = "The player does not currently control a pet",
      },
      ["desc"] = "The index of the currently selected stable pet",
    },
  },
  ["desc"] = "Returns the index of the currently selected stable pet",
}
GetSelectedStationeryTexture = {
  ["arguments"] = {
  },
  ["name"] = "GetSelectedStationeryTexture",
  ["signature"] = "texture = GetSelectedStationeryTexture()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The currently selected stationery texture",
    },
  },
  ["desc"] = "Returns the currently selected stationery texture",
}
GetSendMailCOD = {
  ["arguments"] = {
  },
  ["name"] = "GetSendMailCOD",
  ["signature"] = "GetSendMailCOD()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetSendMailItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Index of the item in the send mail frame. Between 1 and ATTACHMENTS_MAX_SEND",
    },
  },
  ["name"] = "GetSendMailItem",
  ["signature"] = "itemName, itemTexture, stackCount, quality = GetSendMailItem(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "itemName",
      ["desc"] = "Name of the attachment item",
    },
    {
      ["type"] = "string",
      ["name"] = "itemTexture",
      ["desc"] = "Texture of the attachment item",
    },
    {
      ["type"] = "string",
      ["name"] = "stackCount",
      ["desc"] = "Current stack size of the attachment item",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "Item quality",
    },
  },
  ["desc"] = "Returns information on an item slot in the send mail frame.",
}
GetSendMailItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The item slot in the send mail window.  If not specified, this value defaults to 1.",
    },
  },
  ["name"] = "GetSendMailItemLink",
  ["signature"] = "link = GetSendMailItemLink(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link for the given send mail item",
    },
  },
  ["desc"] = "Returns an item link for an item in the send mail window.",
}
GetSendMailMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetSendMailMoney",
  ["signature"] = "money = GetSendMailMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money (in copper) to be sent",
    },
  },
  ["desc"] = "Returns the amount of money that will be sent with your next mail message",
}
GetSendMailPrice = {
  ["arguments"] = {
  },
  ["name"] = "GetSendMailPrice",
  ["signature"] = "price = GetSendMailPrice()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "price",
      ["desc"] = "The cost of sending a mail message in copper.",
    },
  },
  ["desc"] = "Returns the cost associated with sending an ingame mail message.",
}
GetShapeshiftForm = {
  ["arguments"] = {
  },
  ["name"] = "GetShapeshiftForm",
  ["signature"] = "index = GetShapeshiftForm()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The current shapeshift form",
    },
  },
  ["desc"] = "Returns the current shapeshift form index",
}
GetShapeshiftFormCooldown = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The shapeshift slot to query for cooldown information",
    },
  },
  ["name"] = "GetShapeshiftFormCooldown",
  ["signature"] = "start, duration, enable  = GetShapeshiftFormCooldown(slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The value of GetTime() at the moment the cooldown began, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The length of the cooldown, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "enable",
      ["desc"] = "1 if the cooldown is enabled, otherwise 0",
    },
  },
  ["desc"] = "Returns cooldown information about a given shapeshift slot",
}
GetShapeshiftFormInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a shapeshift form",
    },
  },
  ["name"] = "GetShapeshiftFormInfo",
  ["signature"] = "texture, name, isActive, isCastable  = GetShapeshiftFormInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the shapeshift form's icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the shapeshift form",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isActive",
      ["desc"] = "1 if the shapeshift form is currently active, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isCastable",
      ["desc"] = "1 if the shapeshift form is currently castable, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a shapeshift form",
}
GetShieldBlock = {
  ["arguments"] = {
  },
  ["name"] = "GetShieldBlock",
  ["signature"] = "damage = GetShieldBlock()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "damage",
      ["desc"] = "The amount of damage stopped by a sucessful block.",
    },
  },
  ["desc"] = "Returns the amount of damage stopped by a sucessful block.",
}
GetSkillLineInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill line",
    },
  },
  ["name"] = "GetSkillLineInfo",
  ["signature"] = "skillName, header, isExpanded, skillRank, numTempPoints, skillModifier, skillMaxRank, isAbandonable, stepCost, rankCost, minLevel, skillCostType, skillDescription  = GetSkillLineInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "skillName",
      ["desc"] = "The name of the skill",
    },
    {
      ["type"] = "1nil",
      ["name"] = "header",
      ["desc"] = "1 if the skill line is a header, instead of a skill",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isExpanded",
      ["desc"] = "1 if the skill line is a header and is expanded, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "skillRank",
      ["desc"] = "The rank of the skill",
    },
    {
      ["type"] = "number",
      ["name"] = "numTempPoints",
      ["desc"] = "The temporary profession rank increase (for example 15 for engineering for Gnomes due to the racial trait)",
    },
    {
      ["type"] = "number",
      ["name"] = "skillModifier",
      ["desc"] = "The temporary rank modifier due to buffs, equipment, etc. (for example +Defense gear and the Defense skill)",
    },
    {
      ["type"] = "number",
      ["name"] = "skillMaxRank",
      ["desc"] = "The max rank available",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isAbandonable",
      ["desc"] = "1 if the skill can be unlearnt, otherwise nil",
    },
    {
      ["type"] = "number",
      ["name"] = "stepCost",
      ["desc"] = "Unused return value",
    },
    {
      ["type"] = "number",
      ["name"] = "rankCost",
      ["desc"] = "Unused return value",
    },
    {
      ["type"] = "number",
      ["name"] = "minLevel",
      ["desc"] = "The minimum level required to learn the skill",
    },
    {
      ["type"] = "number",
      ["name"] = "skillCostType",
      ["desc"] = "Unused return value",
    },
    {
      ["type"] = "string",
      ["name"] = "skillDescription",
      ["desc"] = "The description of the skill",
    },
  },
  ["desc"] = "Returns information about a given skill line",
}
GetSocketItemInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetSocketItemInfo",
  ["signature"] = "name, icon, quality  = GetSocketItemInfo()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item.",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The icon of the item.",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The item's quality",
    },
  },
  ["desc"] = "Returns information about the item currently open in the socket UI.",
}
GetSocketTypes = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the socket to query",
    },
  },
  ["name"] = "GetSocketTypes",
  ["signature"] = "gemColor = GetSocketTypes(index)",
  ["returns"] = {
    {
      ["name"] = "gemColor",
      ["type"] = "string",
      ["values"] = {
        "Blue",
        "Yellow",
        "Red",
        "Meta",
      },
      ["desc"] = "The color of the given gem socket",
    },
  },
  ["desc"] = "Returns the color of a given gem socket in the socketing UI",
}
GetSpellAutocast = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "spellid",
      ["desc"] = "The spellid to query",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook",
    },
  },
  ["name"] = "GetSpellAutocast",
  ["signature"] = "autoCastAllowed, autoCastEnabled = GetSpellAutocast(spellid, \"bookType\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "autoCastAllowed",
      ["desc"] = "Can this spell be autocast or not.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "autoCastEnabled",
      ["desc"] = "Is this spell currently being autocast or not.",
    },
  },
  ["desc"] = "Returns whether a spell can be autocasted and is currently being autocast.",
}
GetSpellBonusDamage = {
  ["arguments"] = {
    {
      ["name"] = "school",
      ["type"] = "number",
      ["values"] = {
        "Physical",
        "Holy",
        "Fire",
        "Nature",
        "Frost",
        "Shadow",
        "Arcane",
      },
      ["desc"] = "The spell school to query",
    },
  },
  ["name"] = "GetSpellBonusDamage",
  ["signature"] = "minModifier = GetSpellBonusDamage(school)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "minModifier",
      ["desc"] = "The spell damage bonus for a given school",
    },
  },
  ["desc"] = "Returns the spell damage bonus for a given school",
}
GetSpellBonusHealing = {
  ["arguments"] = {
  },
  ["name"] = "GetSpellBonusHealing",
  ["signature"] = "bonusHealing = GetSpellBonusHealing()",
  ["returns"] = {
    {
      ["type"] = "integer",
      ["name"] = "bonusHealing",
      ["desc"] = "Sum of healing bonus on player's equipped items.",
    },
  },
  ["desc"] = "Query player's bonus healing from equipment.",
}
GetSpellCooldown = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "spellName",
          ["desc"] = "The name of the spell to query",
        },
        {
          ["type"] = "number",
          ["name"] = "spellIndex",
          ["desc"] = "The spellbook index of the spell to query",
        },
      },
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "bookType",
      ["desc"] = "The type of spell book to look up spellIndex in (required when using spellIndex)",
    },
  },
  ["name"] = "GetSpellCooldown",
  ["signature"] = "start, duration, enable = GetSpellCooldown(id, \"bookType\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The value of GetTime() at the moment the cooldown began, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The length of the cooldown, or 0",
    },
    {
      ["type"] = "number",
      ["name"] = "enable",
      ["desc"] = "1 if the cooldown is enabled, otherwise 0",
    },
  },
  ["desc"] = "Returns cooldown information about a given spell.",
}
GetSpellCount = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a spell to query",
        },
        {
          ["type"] = "number",
          ["name"] = "spellId",
          ["desc"] = "A spellId to query",
        },
      },
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook to query",
    },
  },
  ["name"] = "GetSpellCount",
  ["signature"] = "numCasts = GetSpellCount(\"name\" or spellId, \"bookType\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numCasts",
      ["desc"] = "The number of spellcasts that can be made with the current number of reagents",
    },
  },
  ["desc"] = "Returns the number of times a spell with a reagent can be cast",
}
GetSpellCritChance = {
  ["arguments"] = {
    {
      ["name"] = "school",
      ["type"] = "number",
      ["values"] = {
        "Physical",
        "Holy",
        "Fire",
        "Nature",
        "Frost",
        "Shadow",
        "Arcane",
      },
      ["desc"] = "The spell school to query",
    },
  },
  ["name"] = "GetSpellCritChance",
  ["signature"] = "minCrit = GetSpellCritChance(school)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "minCrit",
      ["desc"] = "The amount of crit chance for a given spell school",
    },
  },
  ["desc"] = "Returns the amount of crit changce for a given spell school",
}
GetSpellCritChanceFromIntellect = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query.  This function appears to only work for \"player\" units",
    },
  },
  ["name"] = "GetSpellCritChanceFromIntellect",
  ["signature"] = "critChance = GetSpellCritChanceFromIntellect(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "critChance",
      ["desc"] = "The percent chance to crit granted by the player's Intellect stat",
    },
  },
  ["desc"] = "Returns the percent chance to crit granted by Intellect",
}
GetSpellInfo = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "spellID",
          ["desc"] = "The spell's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "spellName",
          ["desc"] = "The spell's name. Must be in your spell book.",
        },
      },
    },
  },
  ["name"] = "GetSpellInfo",
  ["signature"] = "name, rank, icon, powerCost, isFunnel, powerType, castingTime, minRange, maxRange = GetSpellInfo(spellID or \"spellName\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The spell's name",
    },
    {
      ["type"] = "string",
      ["name"] = "rank",
      ["desc"] = "The rank of the spell (e.g.\"Rank 5\", \"Racial\", etc.)",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The file path for the spell's icon",
    },
    {
      ["type"] = "number",
      ["name"] = "powerCost",
      ["desc"] = "The amount of mana, rage, energy, or focus required to cast the spell",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isFunnel",
      ["desc"] = "True for spells with health funneling effects (like Health Funnel)",
    },
    {
      ["values"] = {
        "Rage",
        "Focus",
        "Energy",
        [0] = "Mana",
      },
      ["type"] = "number",
      ["name"] = "powerType",
      ["desc"] = "The type of power used to cast the spell",
    },
    {
      ["type"] = "number",
      ["name"] = "castingTime",
      ["desc"] = "The casting time of the spell in milliseconds",
    },
    {
      ["type"] = "number",
      ["name"] = "minRange",
      ["desc"] = "The minimum range from the target required to cast the spell",
    },
    {
      ["type"] = "number",
      ["name"] = "maxRange",
      ["desc"] = "The maximum range from the target at which you can cast the spell",
    },
  },
  ["desc"] = "Returns a wide range of information about the given spell",
}
GetSpellLink = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "spellID",
          ["desc"] = "The spell's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "spellname",
          ["desc"] = "The spell's name. Must be in your spell book.",
        },
      },
    },
  },
  ["name"] = "GetSpellLink",
  ["signature"] = "link = GetSpell(spellID or \"spellName\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The desired spell link",
    },
  },
  ["desc"] = "Gets a spell link for the player's given spell",
}
GetSpellName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "spellid",
      ["desc"] = "The spellid to query",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook",
    },
  },
  ["name"] = "GetSpellName",
  ["signature"] = "spellName, subSpellName = GetSpellName(spellid, \"bookType\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "spellName",
      ["desc"] = "The name of the spell",
    },
    {
      ["type"] = "string",
      ["name"] = "subSpellName",
      ["desc"] = "The text displayed on the second line of the spellbook, such as \"Rank 5\", \"Racial Passive\", or \"Artisan\".",
    },
  },
  ["desc"] = "Returns the name and subtext of a given spellid",
}
GetSpellPenetration = {
  ["arguments"] = {
  },
  ["name"] = "GetSpellPenetration",
  ["signature"] = "penetration = GetSpellPenetration()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "penetration",
      ["desc"] = "The amount of spell penetration rating the player currently has",
    },
  },
  ["desc"] = "Returns the amount of spell penetration the player currently has",
}
GetSpellTabInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the spell tab.  Valid values are 1 through GetNumSpellTabs()",
    },
  },
  ["name"] = "GetSpellTabInfo",
  ["signature"] = "name, texture, offset, numSpells = GetSpellTabInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell tab",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the spell tab's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "offset",
      ["desc"] = "The offset for spellids within this tab",
    },
    {
      ["type"] = "number",
      ["name"] = "numSpells",
      ["desc"] = "The number of spells in the tab",
    },
  },
  ["desc"] = "Returns information about a tab in the spellbook",
}
GetSpellTexture = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The spell id",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spell book",
        ["spell"] = "The default spell book",
      },
      ["desc"] = "The type of spell book",
    },
  },
  ["name"] = "GetSpellTexture",
  ["signature"] = "texture = GetSpellTexture(id, \"bookType\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the spell icon's texture",
    },
  },
  ["desc"] = "Returns the texture path for a given spell",
}
GetStablePetFoodTypes = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a stabled pet, or 0 for the active pet.",
    },
  },
  ["name"] = "GetStablePetFoodTypes",
  ["signature"] = "... = GetStablePetFoodTypes(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of strings, each containing a food that the stabled pet will eat",
    },
  },
  ["desc"] = "Returns the types of food that a stabled pet will eat",
}
GetStablePetInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the stable pet",
    },
  },
  ["name"] = "GetStablePetInfo",
  ["signature"] = "icon, name, level, family, loyalty  = GetStablePetInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the pet's icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the pet",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the pet",
    },
    {
      ["type"] = "string",
      ["name"] = "family",
      ["desc"] = "The family of the pet in the current locale",
    },
    {
      ["type"] = "string",
      ["name"] = "loyalty",
      ["desc"] = "The loyalty level of the pet, as a localized string",
    },
  },
  ["desc"] = "Returns information about a currently stabled pet",
}
GetStationeryInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "A stationery index",
    },
  },
  ["name"] = "GetStationeryInfo",
  ["signature"] = "name, texture, cost  = GetStationeryInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the stationery",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the stationery texture",
    },
    {
      ["type"] = "number",
      ["name"] = "cost",
      ["desc"] = "The cost of the stationery, in copper",
    },
  },
  ["desc"] = "Returns information about a given stationery",
}
GetSubZoneText = {
  ["arguments"] = {
  },
  ["name"] = "GetSubZoneText",
  ["signature"] = "subzoneText = GetSubZoneText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "subzoneText",
      ["desc"] = "The subzone text for the given zone, or the empty string.  This corresponds to sub-zones within a larger zone such as \"The Ring of Trials\" in Nagrand",
    },
  },
  ["desc"] = "Returns the subzone text of the player's current zone",
}
GetSuggestedGroupNum = {
  ["arguments"] = {
  },
  ["name"] = "GetSuggestedGroupNum",
  ["signature"] = "suggestedGroup = GetSuggestedGroupNum()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "suggestedGroup",
      ["desc"] = "The size of a suggested group for the currently displayed quest, or 0",
    },
  },
  ["desc"] = "Returns the size of the suggested group for the currently displayed quest",
}
GetSummonConfirmAreaName = {
  ["arguments"] = {
  },
  ["name"] = "GetSummonConfirmAreaName",
  ["signature"] = "area = GetSummonConfirmAreaName()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "area",
      ["desc"] = "The destination area of the pending summon spell",
    },
  },
  ["desc"] = "Returns the destination area of the pending summon spell",
}
GetSummonConfirmSummoner = {
  ["arguments"] = {
  },
  ["name"] = "GetSummonConfirmSummoner",
  ["signature"] = "text = GetSummonConfirmSummoner()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The name of the summoner",
    },
  },
  ["desc"] = "Returns the name of the summoner, so it can be displayed in the confirmation dialog",
}
GetSummonConfirmTimeLeft = {
  ["arguments"] = {
  },
  ["name"] = "GetSummonConfirmTimeLeft",
  ["signature"] = "timeleft = GetSummonConfirmTimeLeft()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "timeleft",
      ["desc"] = "Time left in seconds until summon cancel.",
    },
  },
  ["desc"] = "Returns time left in seconds until summon cancel. Will return 0 with no summon dialog up.",
}
GetTabardCreationCost = {
  ["arguments"] = {
  },
  ["name"] = "GetTabardCreationCost",
  ["signature"] = "cost = GetTabardCreationCost()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cost",
      ["desc"] = "The cost of creating a guild tabard, in copper",
    },
  },
  ["desc"] = "Returns the cost to create a guild tabard",
}
GetTabardInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetTabardInfo",
  ["signature"] = "GetTabardInfo()",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetTalentInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tabIndex",
      ["desc"] = "The index of the talen tree.",
    },
    {
      ["type"] = "number",
      ["name"] = "talentIndex",
      ["desc"] = "The index of the talent.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isInspect",
      ["desc"] = "1 if retrieving information from an inspected person, nil otherwise",
    },
  },
  ["name"] = "GetTalentInfo",
  ["signature"] = "name, iconTexture, tier, column, rank, maxRank, isExceptional, meetsPrereq  = GetTalentInfo(tabIndex, talentIndex [,isInspect])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the talent.",
    },
    {
      ["type"] = "string",
      ["name"] = "iconTexture",
      ["desc"] = "The icon texture of the talent.",
    },
    {
      ["type"] = "number",
      ["name"] = "tier",
      ["desc"] = "The tier (row) of the talent.",
    },
    {
      ["type"] = "number",
      ["name"] = "column",
      ["desc"] = "The column of the talent.",
    },
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "The current rank of the talent.",
    },
    {
      ["type"] = "number",
      ["name"] = "maxRank",
      ["desc"] = "The maximum rank of the talent.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isExceptional",
      ["desc"] = "1 if the selected talent is a ability you gain, nil otherwise.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "meetsPrereq",
      ["desc"] = "1 if you meet the prerequisite to learn the talent, nil otherwise.",
    },
  },
  ["desc"] = "Returns information about the talents of the player, or the currently inspected player.",
}
GetTalentLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tabIndex",
      ["desc"] = "The tab of the talent (1-3)",
    },
    {
      ["type"] = "number",
      ["name"] = "talentIndex",
      ["desc"] = "The index of the talent (from 1 to GetNumTalents(tabIndex))",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isInspect",
      ["values"] = {
        ["true"] = "Use the talents of the player you are currently inspecting",
        ["false or omitted"] = "Use your own talents",
      },
      ["optional"] = true,
      ["desc"] = "Determines the target of the request",
    },
  },
  ["name"] = "GetTalentLink",
  ["signature"] = "link = GetTalentLink(tabIndex, talentIndex [, isInspect])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The desired spell link",
    },
  },
  ["desc"] = "Gets a spell link for the given talent",
}
GetTalentPrereqs = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tabIndex",
      ["desc"] = "The index of the chosen tab",
    },
    {
      ["type"] = "number",
      ["name"] = "talentIndex",
      ["desc"] = "The index of the talent to query",
    },
  },
  ["name"] = "GetTalentPrereqs",
  ["signature"] = "tier, column, isLearnable, ... = GetTalentPrereqs(tabIndex, talentIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "tier",
      ["desc"] = "The tier of the required talent",
    },
    {
      ["type"] = "number",
      ["name"] = "column",
      ["desc"] = "The column of the required talent",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isLearnable",
      ["desc"] = "1 if the talent is currently learnable, otherwise nil",
    },
  },
  ["desc"] = "Returns the prerequisites for a given talent.",
}
GetTalentTabInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the talent tab.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isInspect",
      ["desc"] = "1 if inspecting someone, nil otherwise",
    },
  },
  ["name"] = "GetTalentTabInfo",
  ["signature"] = "name, texture, points, fileName = GetTalentTabInfo(index [,isInspect])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the talent tree.",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The texture of the talent tree.",
    },
    {
      ["type"] = "number",
      ["name"] = "points",
      ["desc"] = "The number of talent points spent in the talent tree.",
    },
    {
      ["type"] = "string",
      ["name"] = "fileName",
      ["desc"] = "The file name to the background texture for the talent tree.",
    },
  },
  ["desc"] = "Returns information about the specified talent tree from either the player or the unit that is being inspected. ",
}
GetTargetTradeMoney = {
  ["arguments"] = {
  },
  ["name"] = "GetTargetTradeMoney",
  ["signature"] = "money = GetTargetTradeMoney()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "The amount of money the target has placed in the trade window, in copper",
    },
  },
  ["desc"] = "Returns the amount of money the target has placed in the trade window.",
}
GetTaxiBenchmarkMode = {
  ["arguments"] = {
  },
  ["name"] = "GetTaxiBenchmarkMode",
  ["signature"] = "isBenchmark = GetTaxiBenchmarkMode",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isBenchmark",
      ["desc"] = "1 if taxi benchmark mode is enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not taxi benchmark mode is enabled",
}
GetTerrainMip = {
  ["arguments"] = {
  },
  ["name"] = "GetTerrainMip",
  ["signature"] = "terrainDetailLevel = GetTerrainMip()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "terrainDetailLevel",
      ["desc"] = "The value of the \"Terrain Detail Level\" slider in the Video options.  This is either 0 or 1.",
    },
  },
  ["desc"] = "Returns the value of the \"Terrain Detail Level\" slider in the video options",
}
GetTexLodBias = {
  ["arguments"] = {
  },
  ["name"] = "GetTexLodBias",
  ["signature"] = "GetTexLodBias",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetText = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "token",
      ["desc"] = "The name of the global string to format.",
    },
    {
      ["type"] = "string",
      ["name"] = "suffix",
      ["desc"] = "A suffix to add to the token before fetching the format string.",
    },
    {
      ["type"] = "number",
      ["name"] = "ordinal",
      ["desc"] = "Will replace %d in the string with this number.",
    },
  },
  ["name"] = "GetText",
  ["signature"] = "text = GetText(\"token\" [,suffix] [,ordinal])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "Formatted global string.",
    },
  },
  ["desc"] = "Returns a formatted string from GlobalStrings.",
}
GetTime = {
  ["arguments"] = {
  },
  ["name"] = "GetTime",
  ["signature"] = "time = GetTime()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "time",
      ["desc"] = "A number that represents the current time, with  millisecond precision.  The number itself doesn't correspond to any useful value, but can be compared against itself to give a high prevision time measurement.",
    },
  },
  ["desc"] = "Returns a number representing the current time, with millisecond precision",
}
GetTimeToWellRested = {
  ["arguments"] = {
  },
  ["name"] = "GetTimeToWellRested",
  ["signature"] = "seconds = GetTimeToWellRested()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "seconds",
      ["desc"] = "The number of seconds until the player would reach full rested state",
    },
  },
  ["desc"] = "",
}
GetTitleName = {
  ["arguments"] = {
    {
      ["type"] = "integer",
      ["name"] = "titleMaskID",
      ["desc"] = "Index of the title name to query",
    },
  },
  ["name"] = "GetTitleName",
  ["signature"] = "titleName  = GetTitleName(titleMaskID)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "titleName",
      ["desc"] = "The name of the title requested",
    },
  },
  ["desc"] = "Retrieve a title string from a title ID",
}
GetTitleText = {
  ["arguments"] = {
  },
  ["name"] = "GetTitleText",
  ["signature"] = "text = GetTitleText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The title text for the currently displayed quest",
    },
  },
  ["desc"] = "Returns the title text for the currently displayed quest.",
}
GetTotemInfo = {
  ["arguments"] = {
    {
      ["values"] = {
        "Fire",
        "Earth",
        "Water",
        "Air",
      },
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The element of the totem you want to destroy",
    },
  },
  ["name"] = "GetTotemInfo",
  ["signature"] = "haveTotem, name, startTime, duration, icon = GetTotemInfo(slot)",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "haveTotem",
      ["desc"] = "Indicates whether you have an active totem of the given type",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the totem",
    },
    {
      ["type"] = "number",
      ["name"] = "startTime",
      ["desc"] = "The value of GetTime() when the totem was created",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The total duration the totem will last (in seconds)",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The texture path to the totem's icon",
    },
  },
  ["desc"] = "Returns information on a currently active totem",
}
GetTotemTimeLeft = {
  ["arguments"] = {
    {
      ["values"] = {
        "Fire",
        "Earth",
        "Water",
        "Air",
      },
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The element of the totem you want to query",
    },
  },
  ["name"] = "GetTotemTimeLeft",
  ["signature"] = "seconds = GetTotemTimeLeft(slot)",
  ["desc"] = "Returns the number of seconds left for the given totem (or 0 if no totem)",
}
GetTrackingInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The tracking index to query",
    },
  },
  ["name"] = "GetTrackingInfo",
  ["signature"] = "name, texture, active, category = GetTrackingInfo(id)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the tracking option",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the tracking option's icon texture",
    },
    {
      ["type"] = "1nil",
      ["name"] = "active",
      ["desc"] = "1 if the tracking option is active, otherwise nil",
    },
    {
      ["name"] = "category",
      ["type"] = "string",
      ["values"] = {
        ["npc"] = "The tracking option is static",
        ["spell"] = "The tracking option is a spell in the player's spellbook",
      },
      ["desc"] = "The tracking option's category",
    },
  },
  ["desc"] = "Returns information about a given tracking option",
}
GetTrackingTexture = {
  ["arguments"] = {
  },
  ["name"] = "GetTrackingTexture",
  ["signature"] = "texture = GetTrackingTexture()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path of the active tracking buff, if there is one.",
    },
  },
  ["desc"] = "Returns the texture of the active tracking buff, if one is active",
}
GetTradePlayerItemInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index in the trade window",
    },
  },
  ["name"] = "GetTradePlayerItemInfo",
  ["signature"] = "name, texture, numItems, isUsable, enchantment = GetTradePlayerItemInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Commmon",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The quality level of the item",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is usable by the player, otherwise nil",
    },
    {
      ["type"] = "string",
      ["name"] = "enchantment",
      ["desc"] = "The name of the enchantment being applied to the item, if applicable",
    },
  },
  ["desc"] = "Returns information about an item that the player has placed in the trade window",
}
GetTradePlayerItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the player's trade slot",
    },
  },
  ["name"] = "GetTradePlayerItemLink",
  ["signature"] = "link = GetTradePlayerItemLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The link for the given trade item",
    },
  },
  ["desc"] = "Returns a link for an item offered by the player in the trade window",
}
GetTradeSkillCooldown = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a trade skill",
    },
  },
  ["name"] = "GetTradeSkillCooldown",
  ["signature"] = "cooldown = GetTradeSkillCooldown(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cooldown",
      ["desc"] = "The remaining cooldown of the tradeskill in seconds",
    },
  },
  ["desc"] = "Returns the cooldown for a given trade skill",
}
GetTradeSkillIcon = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the line you want to query the icon for.",
    },
  },
  ["name"] = "GetTradeSkillIcon",
  ["signature"] = "texturePath = GetTradeSkillIcon(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "texturePath",
      ["desc"] = "The full path to the icon's texture",
    },
  },
  ["desc"] = "This function will return the iventory icon for the TradeSkill item at the index being queried.",
}
GetTradeSkillInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the trade skill to query.",
    },
  },
  ["name"] = "GetTradeSkillInfo",
  ["signature"] = "skillName, skillType, numAvailable, isExpanded = GetTradeSkillInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "skillName",
      ["desc"] = "The name of the trade skill.",
    },
    {
      ["name"] = "skillType",
      ["type"] = "string",
      ["values"] = {
        ["header"] = "This entry is a header and not an actual trade skill.",
        ["medium"] = "Medium skill (yellow) - there is a high chance that you will gain skill points from this recipe..",
        ["optimal"] = "Optimal skill (orange) - you will gain skill points from this recipe.",
        ["trivial"] = "Trivial skill (grey) - you will not gain skill points from this recipe.",
        ["easy"] = "Easy skill (green) - there is a slim chance that you will gain skill points from this recipe.",
      },
      ["desc"] = "The skill type of the trade skill.",
    },
    {
      ["type"] = "number",
      ["name"] = "numAvailable",
      ["desc"] = "The number of times you can cast this trade skill.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isExpanded",
      ["desc"] = "1 if this is a header and is expanded, nil otherwise",
    },
  },
  ["desc"] = "Returns information about the recipes of the currently selected trade skill.",
}
GetTradeSkillInvSlotFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an inventory slot tradeskill filter, or 0 for the \"All Slots\" filter",
    },
  },
  ["name"] = "GetTradeSkillInvSlotFilter",
  ["signature"] = "enabled = GetTradeSkillInvSlotFilter(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "enabled",
      ["desc"] = "1 if the filter is enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given tradeskill inventory slot filter is enabled",
}
GetTradeSkillInvSlots = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeSkillInvSlots",
  ["signature"] = "... = GetTradeSkillInvSlots()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of inventory slots the tradeskill is capable of creating items for.  These values are used to populate the slot dropdown in the tradeskill window",
    },
  },
  ["desc"] = "Returns a list of inventory slots the current tradeskill can craft for",
}
GetTradeSkillItemLevelFilter = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeSkillItemLevelFilter",
  ["signature"] = "minLevel, maxLevel = GetTradeSkillItemLevelFilter()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "minLevel",
      ["desc"] = "Lowest required level of items to show in filtered TradeSkill list",
    },
    {
      ["type"] = "number",
      ["name"] = "maxLevel",
      ["desc"] = "Highest required level of items to show in filtered TradeSkill list",
    },
  },
  ["desc"] = "Returns the current values for the tradeskill item level filter",
}
GetTradeSkillItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a tradeskill item",
    },
  },
  ["name"] = "GetTradeSkillItemLink",
  ["signature"] = "link = GetTradeSkillItemLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link for the given item",
    },
  },
  ["desc"] = "Returns an item link for the given tradeskill item",
}
GetTradeSkillItemNameFilter = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeSkillItemNameFilter",
  ["signature"] = "text = GetTradeSkillItemNameFilter()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text of the tradeskill item name filter",
    },
  },
  ["desc"] = "Returns the text of the tradeskill item name filter",
}
GetTradeSkillLine = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeSkillLine",
  ["signature"] = "tradeskillName, currentLevel, maxLevel = GetTradeSkillLine()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "tradeskillName",
      ["desc"] = "Name of the current tradeskill",
    },
    {
      ["type"] = "number",
      ["name"] = "currentLevel",
      ["desc"] = "Current level in tradeskill",
    },
    {
      ["type"] = "number",
      ["name"] = "maxLevel",
      ["desc"] = "Current maximum level for tradeskill",
    },
  },
  ["desc"] = "Returns level information about the active tradeskill line",
}
GetTradeSkillNumMade = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a tradeskill recipe in the trade skill window",
    },
  },
  ["name"] = "GetTradeSkillNumMade",
  ["signature"] = "minMade,maxMade = GetTradeSkillNumMade(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "minMade",
      ["desc"] = "The minimum number of items created when crafting",
    },
    {
      ["type"] = "number",
      ["name"] = "maxMade",
      ["desc"] = "The maximum number of items created when crafting",
    },
  },
  ["desc"] = "Returns the number of items possibly created when crafting a tradeskill recipe",
}
GetTradeSkillNumReagents = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a trade skill recipe",
    },
  },
  ["name"] = "GetTradeSkillNumReagents",
  ["signature"] = "numReagents = GetTradeSkillNumReagents(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numReagents",
      ["desc"] = "The number of reagents required for a given recipe",
    },
  },
  ["desc"] = "Returns the number of reagents required for a trade skill recipe",
}
GetTradeSkillReagentInfo = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "reagentName",
      ["desc"] = "The name of the reagent",
    },
    {
      ["type"] = "string",
      ["name"] = "reagentTexture",
      ["desc"] = "The path to the reagent's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "reagentCount",
      ["desc"] = "The number of required reagents",
    },
    {
      ["type"] = "number",
      ["name"] = "playerReagentCount",
      ["desc"] = "The number of reagents the player currently possesses",
    },
  },
  ["name"] = "GetTradeSkillReagentInfo",
  ["signature"] = "reagentName, reagentTexture, reagentCount, playerReagentCount = GetTradeSkillReagentInfo(index, reagentIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the tradeskill recipe",
    },
    {
      ["type"] = "number",
      ["name"] = "reagentIndex",
      ["desc"] = "The index of the reagent to the tradeskill recipe",
    },
  },
  ["desc"] = "Returns information about tradeskill recipe's reagent",
}
GetTradeSkillReagentItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "skillIdx",
      ["desc"] = "The index of the skill to be queried",
    },
    {
      ["type"] = "number",
      ["name"] = "reagentIdx",
      ["desc"] = "The index of the reagent",
    },
  },
  ["name"] = "GetTradeSkillReagentItemLink",
  ["signature"] = "link = GetTradeSkillReagentItemLink(skillIdx, reagentIdx)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link of the given reagent for a tradeskill",
    },
  },
  ["desc"] = "Returns the item link for a tradeskill's reagent",
}
GetTradeSkillRecipeLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the trade skill recipe",
    },
  },
  ["name"] = "GetTradeSkillRecipeLink",
  ["signature"] = "link = GetTradeSkillRecipeLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "A link for the given item recipe",
    },
  },
  ["desc"] = "Returns an item link for a tradeskill recipe",
}
GetTradeSkillSelectionIndex = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeSkillSelectionIndex",
  ["signature"] = "index = GetTradeSkillSelectionIndex()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the currently selected line in the tradeskill window",
    },
  },
  ["desc"] = "Returns the index of the currently selected line in the Tradeskill window",
}
GetTradeSkillSubClassFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a return from GetTradeSkillSubClasses(), or 0 for the \"All\" filter.",
    },
  },
  ["name"] = "GetTradeSkillSubClassFilter",
  ["signature"] = "enabled = GetTradeSkillSubClassFilter(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "enabled",
      ["desc"] = "1 if the filter is enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given tradeskill filter is enabled",
}
GetTradeSkillSubClasses = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeSkillSubClasses",
  ["signature"] = "... = GetTradeSkillSubClasses()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A string for every tradeskill subclass for the given tradeskill.",
    },
  },
  ["desc"] = "Returns a list of tradeskill subclasses",
}
GetTradeSkillTools = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a tradeskill recipe in the tradeskill UI",
    },
  },
  ["name"] = "GetTradeSkillTools",
  ["signature"] = "toolName, hasTool, ... = GetTradeSkillTools(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "toolName",
      ["desc"] = "The name of the tool required for the given tradeskill",
    },
    {
      ["type"] = "1nil",
      ["name"] = "hasTool",
      ["desc"] = "1 if the player currently has the required tool, otherwise nil.  This value may not be accurate for all requires tools, such as the Mana Loom required for creating Imbued Netherweave Cloth.  This function only seems to work for tools that are inventory items.",
    },
    {
      ["type"] = "repeat",
      ["name"] = "...",
      ["desc"] = "Multiple returns are used when there are multiple required tools",
    },
  },
  ["desc"] = "Returns the required tradeskill tools for a given tradeskill recipe",
}
GetTradeTargetItemInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index in the trade window",
    },
  },
  ["name"] = "GetTradeTargetItemInfo",
  ["signature"] = "local name, texture, numItems, quality, isUsable, enchantment  = GetTradeTargetItemInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the item's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "numItems",
      ["desc"] = "The number of items in the stack",
    },
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Commmon",
        ["0"] = "Poor",
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The quality level of the item",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is usable by the player, otherwise nil",
    },
    {
      ["type"] = "string",
      ["name"] = "enchantment",
      ["desc"] = "The name of the enchantment being applied to the item, if applicable",
    },
  },
  ["desc"] = "Returns information about an item in the trade window",
}
GetTradeTargetItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the target's trade item",
    },
  },
  ["name"] = "GetTradeTargetItemLink",
  ["signature"] = "link = GetTradeTargetItemLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The link for the given item",
    },
  },
  ["desc"] = "Returns an item link for an item being offered by the target in a trade",
}
GetTradeskillRepeatCount = {
  ["arguments"] = {
  },
  ["name"] = "GetTradeskillRepeatCount",
  ["signature"] = "repeatCount = GetTradeskillRepeatCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "repeatCount",
      ["desc"] = "The amount of times the current recipe will be repeated until finished.  The start value of this is set when DoTradeSkill() is called, and is decremented each time a new item is finished.",
    },
  },
  ["desc"] = "Returns the number of times the current tradeskill recipe will repeat",
}
GetTrainerGreetingText = {
  ["arguments"] = {
  },
  ["name"] = "GetTrainerGreetingText",
  ["signature"] = "text = GetTrainerGreetingText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The greeting text for the currently (or last) open trainer.  This is the text displayed at the top of the trainer window.",
    },
  },
  ["desc"] = "Returns the greeting text for the currently (or last) open trainer",
}
GetTrainerSelectionIndex = {
  ["arguments"] = {
  },
  ["name"] = "GetTrainerSelectionIndex",
  ["signature"] = "selectionIndex = GetTrainerSelectionIndex()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "selectionIndex",
      ["desc"] = "The currently selected index in the trainer window",
    },
  },
  ["desc"] = "Returns the currently selected index in the trainer window",
}
GetTrainerServiceAbilityReq = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the trainer service to query.  These indices are affected by the trainer filter, see GetTrainerServiceTypeFilter() and SetTrainerServiceTypeFilter().",
    },
  },
  ["name"] = "GetTrainerServiceAbilityReq",
  ["signature"] = "ability, hasReq = GetTrainerServiceAbilityReq(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "ability",
      ["desc"] = "The name of the ability that is required.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "hasReq",
      ["desc"] = "1 if the player meets the requirement, nil otherwise",
    },
  },
  ["desc"] = "Retrieves information about abilities that are required to train a specific skill.",
}
GetTrainerServiceCost = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a trainer service",
    },
  },
  ["name"] = "GetTrainerServiceCost",
  ["signature"] = "moneyCost, talentCost, skillCost  = GetTrainerServiceCost(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "moneyCost",
      ["desc"] = "The cost of the service, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "talentCost",
      ["desc"] = "The cost of the service, in talent points",
    },
    {
      ["type"] = "number",
      ["name"] = "skillCost",
      ["desc"] = "The cost of the service, of the available profession limit",
    },
  },
  ["desc"] = "Returns the cost of a given trainer service",
}
GetTrainerServiceDescription = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a trainer service (class spell, tradeskill, etc.) to query",
    },
  },
  ["name"] = "GetTrainerServiceDescription",
  ["signature"] = "text = GetTrainerServiceDescription(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The description of the service",
    },
  },
  ["desc"] = "Returns the description of a given trainer service (spell, tradeskill, etc.)",
}
GetTrainerServiceIcon = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a service in the trainer window",
    },
  },
  ["name"] = "GetTrainerServiceIcon",
  ["signature"] = "icon = GetTrainerServiceIcon(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the service's icon texture",
    },
  },
  ["desc"] = "Returns the icon for a given trainer service (spell or skill)",
}
GetTrainerServiceInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a line in the trainer window",
    },
  },
  ["name"] = "GetTrainerServiceInfo",
  ["signature"] = "serviceName, serviceSubText, serviceType, isExpanded  = GetTrainerServiceInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "serviceName",
      ["desc"] = "The name of the service",
    },
    {
      ["type"] = "string",
      ["name"] = "serviceSubText",
      ["desc"] = "The subtext (rank) of the service",
    },
    {
      ["name"] = "serviceType",
      ["type"] = "string",
      ["values"] = {
        ["used"] = "Already learnt",
        ["unavailable"] = "Not able to be learned",
        ["available"] = "Able to be learned",
      },
      ["desc"] = "The type of the service",
    },
  },
  ["desc"] = "Returns information about a service in the trainer window",
}
GetTrainerServiceItemLink = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a service in the trainer window",
    },
  },
  ["name"] = "GetTrainerServiceItemLink",
  ["signature"] = "link = GetTrainerServiceItemLink(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "link",
      ["desc"] = "The item link for the given trainer service, or nil",
    },
  },
  ["desc"] = "Returns an item link for a given trainer service item",
}
GetTrainerServiceLevelReq = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the trainer service",
    },
  },
  ["name"] = "GetTrainerServiceLevelReq",
  ["signature"] = "reqLevel = GetTrainerServiceLevelReq(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "reqLevel",
      ["desc"] = "The required level to learn a given service, otherwise nil",
    },
  },
  ["desc"] = "Returns the level requirement for a trainer service",
}
GetTrainerServiceNumAbilityReq = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index in the trainer window",
    },
  },
  ["name"] = "GetTrainerServiceNumAbilityReq",
  ["signature"] = "numRequirements  = GetTrainerServiceNumAbilityReq(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numRequirements",
      ["desc"] = "The number of ability requirements that much be fulfilled in order to learn the given skill.  The details about each specific requirement can be queried using GetTrainerServiceAbilityReq.  An ability requirement is a pre-requisite spell that must be known in order to learn a future rank, such as Arcane Explosion(Rank 2)  which requires Arcane Explosion(Rank 1).",
    },
  },
  ["desc"] = "Returns the number of ability requirements to learn a given spell.",
}
GetTrainerServiceSkillLine = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the skill line to query",
    },
  },
  ["name"] = "GetTrainerServiceSkillLine",
  ["signature"] = "skillLine = GetTrainerServiceSkillLine(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "skillLine",
      ["desc"] = "The name of the given skill line (for example \"Herbalism\")",
    },
  },
  ["desc"] = "Returns the name of the given skill line",
}
GetTrainerServiceSkillReq = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a trainer service",
    },
  },
  ["name"] = "GetTrainerServiceSkillReq",
  ["signature"] = "skill, rank, hasReq = GetTrainerServiceSkillReq(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "skill",
      ["desc"] = "The name of the required skill",
    },
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "The rank required",
    },
    {
      ["type"] = "1nil",
      ["name"] = "hasReq",
      ["desc"] = "1 if the player fulfills the requirement, otherwise nil",
    },
  },
  ["desc"] = "Returns the skill requirement for a a given trainer service",
}
GetTrainerServiceStepIncrease = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the trainer service",
    },
  },
  ["name"] = "GetTrainerServiceStepIncrease",
  ["signature"] = "increaseText = GetTrainerServiceStepIncrease(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "increaseText",
      ["desc"] = "A string indicating how much skill increase will be gained by learning the skill.",
    },
  },
  ["desc"] = "",
}
GetTrainerServiceStepReq = {
  ["arguments"] = {
  },
  ["name"] = "GetTrainerServiceStepReq",
  ["signature"] = "step, met = GetTrainerServiceStepReq(index)",
  ["returns"] = {
  },
  ["desc"] = "",
}
GetTrainerServiceTypeFilter = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["used"] = "Show skills that you have already learned",
        ["unavailable"] = "Show skills that you are unable to learn",
        ["available"] = "Show skills that you are able to learn",
      },
      ["desc"] = "The filter type to query",
    },
  },
  ["name"] = "GetTrainerServiceTypeFilter",
  ["signature"] = "isEnabled  = GetTrainerServiceTypeFilter(\"type\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEnabled",
      ["desc"] = "1 if the filter is currently enabled, otherwise nil",
    },
  },
  ["desc"] = "Queries the enabled state of a filter in the trainer window",
}
GetTrainerSkillLineFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a skill line filter.  These are any of the major headings at a trainer, such as \"Frost\", \"Fire\" and \"Arcae\", or \"Development Skills\" and \"Recipes\"",
    },
  },
  ["name"] = "GetTrainerSkillLineFilter",
  ["signature"] = "isEnabled = GetTrainerSkillLineFilter(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEnabled",
      ["desc"] = "1 if the given filter is enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a trainer skill line filter is enabled",
}
GetTrainerSkillLines = {
  ["arguments"] = {
  },
  ["name"] = "GetTrainerSkillLines",
  ["signature"] = "... = GetTrainerSkillLines()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of strings containing the names of the available trainer skill lines.  These are the \"schools\" that correspond to spellbook tabs, such as \"Fire\", \"Arcane\" and \"Frost\".",
    },
  },
  ["desc"] = "Returns the spell schools available at a given trainer",
}
GetUnitHealthModifier = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "GetUnitHealthModifier",
  ["signature"] = "modifier = GetUnitHealthModifier(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "modifier",
      ["desc"] = "The health modifier",
    },
  },
  ["desc"] = "Returns the health modifier for a pet.  Used to modify the amount of health a pet gains from +stamina.",
}
GetUnitHealthRegenRateFromSpirit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the character to query",
        },
      },
    },
  },
  ["name"] = "GetUnitHealthRegenRateFromSpirit",
  ["signature"] = "regen = GetUnitHealthRegenRateFromSpirit(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "regen",
      ["desc"] = "The amount of health gained per second while not in combat",
    },
  },
  ["desc"] = "Returns the amount of health gained per second while not in combat, as a result of spirit",
}
GetUnitManaRegenRateFromSpirit = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "GetUnitManaRegenRateFromSpirit",
  ["signature"] = "regen = GetUnitManaRegenRateFromSpirit(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "regen",
      ["desc"] = "The amount of mana regeneration the unit gains each second from spirit, while not casting.",
    },
  },
  ["desc"] = "Returns the mana regeneration rate per second the unit has from the spirit stat",
}
GetUnitMaxHealthModifier = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "GetUnitMaxHealthModifier",
  ["signature"] = "modifier = GetUnitMaxHealthModifier(unit)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "modifier",
      ["desc"] = "The modifier",
    },
  },
  ["desc"] = "Gets a modifier for calculating health gain from stamina",
}
GetUnitPowerModifier = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "GetUnitPowerModifier",
  ["signature"] = "modifier = GetUnitPowerModifier(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "modifier",
      ["desc"] = "Power Modifier",
    },
  },
  ["desc"] = "Returns the power modifier for a pet.  Used to modify the amount of mana a pet gains from +intellect.",
}
GetVideoCaps = {
  ["arguments"] = {
  },
  ["name"] = "GetVideoCaps",
  ["signature"] = "hasAnisotropic, hasPixelShaders, hasVertexShaders, hasTrilinear, hasTripleBuffering, maxAnisotropy, hasHardwareCursor  = GetVideoCaps()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "hasAnisotropic",
      ["desc"] = "",
    },
    {
      ["type"] = "number",
      ["name"] = "hasPixelShaders",
      ["desc"] = "Indicates if the video subsystem has pixel shaders",
    },
    {
      ["type"] = "number",
      ["name"] = "hasVertexShaders",
      ["desc"] = "Indicates if the video subsystem has vertex shaders",
    },
    {
      ["type"] = "number",
      ["name"] = "hasTrilinear",
      ["desc"] = "",
    },
    {
      ["type"] = "number",
      ["name"] = "hasTripleBufering",
      ["desc"] = "Indicates if the video subsystem supports triple buffering",
    },
    {
      ["type"] = "number",
      ["name"] = "maxAnisotropy",
      ["desc"] = "",
    },
    {
      ["type"] = "number",
      ["name"] = "hasHardwareCursor",
      ["desc"] = "Indicates if the video subsystem supports a hardware cursor",
    },
  },
  ["desc"] = "Returns information about the video subsystem",
}
GetVoiceCurrentSessionID = {
  ["arguments"] = {
  },
  ["name"] = "GetVoiceCurrentSessionID",
  ["signature"] = "id = GetVoiceCurrentSessionID()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The voice session ID",
    },
  },
  ["desc"] = "Returns a identifier for your current voice session",
}
GetVoiceSessionInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "session",
      ["desc"] = "The session id",
    },
  },
  ["name"] = "GetVoiceSessionInfo",
  ["signature"] = "name, active = GetVoiceSessionInfo(session)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the voice session (channel)",
    },
    {
      ["type"] = "1nil",
      ["name"] = "active",
      ["desc"] = "1 if the voice session is active, otherwise nil",
    },
  },
  ["desc"] = "Returns information about a given voice session",
}
GetVoiceSessionMemberInfoBySessionID = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "session",
      ["desc"] = "ID of the voice session",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Index of the voice session member.",
    },
  },
  ["name"] = "GetVoiceSessionMemberInfoBySessionID",
  ["signature"] = "name, voiceActive, sessionActive, muted, squelched = GetVoiceSessionMemberInfoBySessionID(session, index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Name of the player.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "voiceActive",
      ["desc"] = "1 if the player has voice active, nil otherwise.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "sessionActive",
      ["desc"] = "1 if the players voice is set to this session, nil otherwise.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "muted",
      ["desc"] = "1 if you muted that player, nil otherwise.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "squelched",
      ["desc"] = "1 if the player was silenced by the channel moderator, nil otherwise.",
    },
  },
  ["desc"] = "Returns information about a member of a given voice session.",
}
GetVoiceStatus = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "Channel to query for voice status.",
    },
  },
  ["name"] = "GetVoiceStatus",
  ["signature"] = "status = GetVoiceStatus(\"name\" or \"unit\", \"channel\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "status",
      ["desc"] = "1 if voice is enabled, nil if disabled.",
    },
  },
  ["desc"] = "Returns the voice enabled status of the queried player.",
}
GetWatchedFactionInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetWatchedFactionInfo",
  ["signature"] = "name, reaction, min, max, value = GetWatchedFactionInfo()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the faction being watched",
    },
    {
      ["name"] = "reaction",
      ["type"] = "number",
      ["values"] = {
        "Hated",
        "Hostile",
        "Unfriendly",
        "Neutral",
        "Friendly",
        "Honored",
        "Revered",
        "Exalted",
      },
      ["desc"] = "The current faction standing, as a number",
    },
    {
      ["type"] = "number",
      ["name"] = "min",
      ["desc"] = "The minimum value for the faction status bar",
    },
    {
      ["type"] = "number",
      ["name"] = "max",
      ["desc"] = "The maximum value for the faction status bar",
    },
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The current value for the faction status bar",
    },
  },
  ["desc"] = "Returns information about the faction currently being watched",
}
GetWaterDetail = {
  ["arguments"] = {
  },
  ["name"] = "GetWaterDetail",
  ["signature"] = "value = GetWaterDetail()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The current value of the water detail option",
    },
  },
  ["desc"] = "Returns the current value of the water detail option",
}
GetWeaponEnchantInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetWeaponEnchantInfo",
  ["signature"] = "hasMainHandEnchant, mainHandExpiration, mainHandCharges, hasOffHandEnchant, offHandExpiration, offHandCharges = GetWeaponEnchantInfo()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasMainHandEnchant",
      ["desc"] = "1 if the main hand weapon has a temporary enchant",
    },
    {
      ["type"] = "number",
      ["name"] = "mainHandExpiration",
      ["desc"] = "The time until the enchant expires, in milliseconds",
    },
    {
      ["type"] = "number",
      ["name"] = "mainHandCharges",
      ["desc"] = "The number of charges left on the enchantment",
    },
    {
      ["type"] = "1nil",
      ["name"] = "hasOffHandEnchant",
      ["desc"] = "1 if the offhand weapon has a temporary enchant",
    },
    {
      ["type"] = "number",
      ["name"] = "offHandExpiration",
      ["desc"] = "The time until the enchant expires, in milliseconds",
    },
    {
      ["type"] = "number",
      ["name"] = "offHandCharges",
      ["desc"] = "The number of charges left on the enchantment",
    },
  },
  ["desc"] = "Returns information about temporary item enchants on the player's weapons ",
}
GetWhoInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an entry in the who list",
    },
  },
  ["name"] = "GetWhoInfo",
  ["signature"] = "name, guild, level, race, class, zone, classFileName  = GetWhoInfo(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player",
    },
    {
      ["type"] = "string",
      ["name"] = "guild",
      ["desc"] = "The player's guild name",
    },
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The player's level",
    },
    {
      ["type"] = "string",
      ["name"] = "race",
      ["desc"] = "The localized name of the player's race",
    },
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The localized name of the player's class",
    },
    {
      ["type"] = "string",
      ["name"] = "zone",
      ["desc"] = "The player's current zone",
    },
    {
      ["type"] = "string",
      ["name"] = "filename",
      ["desc"] = "The english uppercase name of the player's class",
    },
  },
  ["desc"] = "Returns information about a specific index of a who requests's results",
}
GetWorldStateUIInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "An index between 1 and GetNumStateWorldUI()",
    },
  },
  ["name"] = "GetWorldStateUIInfo",
  ["signature"] = "uiType, state, text, icon, dynamicIcon, tooltip, dynamicTooltip, extendedUI, extendedUIState1, extendedUIState2, extendedUIState3  = GetWorldStateUIInfo(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "uiType",
      ["desc"] = "A value of 1 indicates a conditional UI element, whereas any other value will always be displayed",
    },
    {
      ["type"] = "1nil",
      ["name"] = "state",
      ["desc"] = "1 if the objective is displayed, otherwise nil",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text of the objective",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the objective's icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "dynamicIcon",
      ["desc"] = "The path to the objective's dynamic icon texture",
    },
    {
      ["type"] = "string",
      ["name"] = "extendedUI",
      ["desc"] = "\"CAPTUREPOINT\" to display a progress bar for a capture point, otherwise the empty string",
    },
    {
      ["type"] = "number",
      ["name"] = "extendedUIState1",
      ["desc"] = "The index of the capturebar index",
    },
    {
      ["type"] = "number",
      ["name"] = "extendedUIState2",
      ["desc"] = "The current progress bar position, 0 is the right edge, 100 is the left edge.",
    },
    {
      ["type"] = "number",
      ["name"] = "extendedUIState3",
      ["desc"] = "The width of the neutral zone as a percentage (0 - 100).  If the neutral zone is 50, then 25% of the bar is Horde, 25% of the bar is Alliance and there is 50% of the bar in the middle as neutral.",
    },
  },
  ["desc"] = "Returns information about a WorldState UI element",
}
GetXPExhaustion = {
  ["arguments"] = {
  },
  ["name"] = "GetXPExhaustion",
  ["signature"] = "exhaustionXP = GetXPExhaustion()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "exhaustionXP",
      ["desc"] = "The amount of rested experience the player currently has earned.  Each time the player gains experience from killing monsters, this value will decrease by the total amount of experience gained, not just the amount of rested experience bonus awarded.",
    },
  },
  ["desc"] = "Returns the amount of rested experience the player has earned",
}
GetZonePVPInfo = {
  ["arguments"] = {
  },
  ["name"] = "GetZonePVPInfo",
  ["signature"] = "pvpType, isSubZonePvP, factionName = GetZonePVPInfo()",
  ["returns"] = {
    {
      ["name"] = "pvpType",
      ["type"] = "string",
      ["values"] = {
        ["sanctuary"] = "The zone is a sanctuary and PVP is not allowed",
        ["nil"] = "The equivalent of a \"contested\" zone on a PVE server",
        ["hostile"] = "If the current zone is controlled by the opposing faction",
        ["arena"] = "If the current zone is a PVP arena",
        ["friendly"] = "If the current zone is controlled by the player's faction",
        ["contested"] = "If the current zone is PVP contested",
      },
      ["desc"] = "The type of PVP zone",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isSubZonePVP",
      ["desc"] = "1 if the current zone allows free-for-all PVP",
    },
    {
      ["type"] = "string",
      ["name"] = "factionName",
      ["desc"] = "The name of the faction that controls the zone, if the pvpType was friendly or hostile",
    },
  },
  ["desc"] = "Returns PVP information about the current zone",
}
GetZoneText = {
  ["arguments"] = {
  },
  ["name"] = "GetZoneText",
  ["signature"] = "zone = GetZoneText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "zone",
      ["desc"] = "The name of the current zone",
    },
  },
  ["desc"] = "Returns the name of the current zone",
}
GiveMasterLoot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The loot slot item to award",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the loot candidate as returned by GetMasterLootCandidate()",
    },
  },
  ["name"] = "GiveMasterLoot",
  ["signature"] = "GiveMasterLoot(slot, index)",
  ["returns"] = {
  },
  ["desc"] = "Awards the given loot to the specified candidate",
}
GrantLevel = {
  ["name"] = "GrantLevel",
  ["signature"] = "GrantLevel",
  ["desc"] = "",
}
GuildControlAddRank = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the new rank",
    },
  },
  ["name"] = "GuildControlAddRank",
  ["signature"] = "GuildControlAddRank(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Adds a new rank to the player's guild.",
}
GuildControlDelRank = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the rank to delete.",
    },
  },
  ["name"] = "GuildControlDelRank",
  ["signature"] = "GuildControlDelRank(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Deletes a guild rank.",
}
GuildControlGetNumRanks = {
  ["arguments"] = {
  },
  ["name"] = "GuildControlGetNumRanks",
  ["signature"] = "numRanks = GuildControlGetNumRanks()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numRanks",
      ["desc"] = "Number of guild ranks",
    },
  },
  ["desc"] = "Returns the number of guild ranks in the guild including the guild master.",
}
GuildControlGetRankFlags = {
  ["arguments"] = {
  },
  ["name"] = "GuildControlGetRankFlags",
  ["signature"] = "... = GuildControlGetRankFlags()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "...",
      ["desc"] = "The list of permission flags",
    },
  },
  ["desc"] = "Returns a list of permission flags for a guild rank",
}
GuildControlGetRankName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "rankIndex",
      ["desc"] = "The rank index to query",
    },
  },
  ["name"] = "GuildControlGetRankName",
  ["signature"] = "rankName = GuildControlGetRankName(rankIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "rankName",
      ["desc"] = "The name of the given guild rank",
    },
  },
  ["desc"] = "Returns the name of the given guild rank",
}
GuildControlSaveRank = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the guld rank",
    },
  },
  ["name"] = "GuildControlSaveRank",
  ["signature"] = "GuildControlSaveRank(name)",
  ["returns"] = {
  },
  ["desc"] = "Saves the settings for a guild rank",
}
GuildControlSetRank = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "The numeric guild rank to edit.  The Guild Master rank is always 1",
    },
  },
  ["name"] = "GuildControlSetRank",
  ["signature"] = "GuildControlSetRank(rank)",
  ["returns"] = {
  },
  ["desc"] = "Sets the current rank in the guild control window",
}
GuildControlSetRankFlag = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        "Guildchat listen",
        "Guildchat speak",
        "Officerchat listen",
        "Officerchat speak",
        "Promote",
        "Demote",
        "Invite Member",
        "Remove Member",
        "Set MOTD",
        "Edit Public Notes",
        "View Officer Note",
        "Edit Officer Note",
        "Modify Guild Info",
      },
      ["desc"] = "The index for the flag you wish to change.",
    },
    {
      ["type"] = "boolean",
      ["name"] = "enabled",
      ["desc"] = "Enables or disables the flag.",
    },
  },
  ["name"] = "GuildControlSetRankFlag",
  ["signature"] = "GuildControlSetRankFlag(index, enabled)",
  ["returns"] = {
  },
  ["desc"] = "Sets the current rank permission to enabled or disabled.",
}
GuildDemote = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "A guild member's name",
    },
  },
  ["name"] = "GuildDemote",
  ["signature"] = "GuildDemote(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Demotes a guild member by one guild rank",
}
GuildDisband = {
  ["arguments"] = {
  },
  ["name"] = "GuildDisband",
  ["signature"] = "GuildDisband()",
  ["returns"] = {
  },
  ["desc"] = "Disbands your guild without confirmation.  Can only be done by the guildleader.",
}
GuildInfo = {
  ["arguments"] = {
  },
  ["name"] = "GuildInfo",
  ["signature"] = "GuildInfo()",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for the player's guild information",
}
GuildInvite = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to invite to your guild",
    },
  },
  ["name"] = "GuildInvite",
  ["signature"] = "GuildInvite(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Invites a player to your guild",
}
GuildLeave = {
  ["arguments"] = {
  },
  ["name"] = "GuildLeave",
  ["signature"] = "GuildLeave()",
  ["returns"] = {
  },
  ["desc"] = "Causes the player to leave their current guild without confirmation",
}
GuildPromote = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to promote",
    },
  },
  ["name"] = "GuildPromote",
  ["signature"] = "GuildPromote(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Promotes a given plakyer to the next highest guild rank",
}
GuildRoster = {
  ["arguments"] = {
  },
  ["name"] = "GuildRoster",
  ["signature"] = "GuildRoster()",
  ["returns"] = {
  },
  ["desc"] = "Initiates a guild roster update",
}
GuildRosterSetOfficerNote = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a guild member in the guild UI",
    },
    {
      ["type"] = "string",
      ["name"] = "note",
      ["desc"] = "The note to set for the given guild member",
    },
  },
  ["name"] = "GuildRosterSetOfficerNote",
  ["signature"] = "GuildRosterSetOfficerNote(index, \"note\")",
  ["returns"] = {
  },
  ["desc"] = "Sets an officer note for a guild member",
}
GuildRosterSetPublicNote = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The position the member is on the guild roster",
    },
    {
      ["type"] = "string",
      ["name"] = "note",
      ["desc"] = "Text to be set as the public note of the index",
    },
  },
  ["name"] = "GuildRosterSetPublicNote",
  ["signature"] = "GuildRosterSetPublicNote(index, \"note\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the public note of a guild member",
}
GuildSetLeader = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the guild member to promote to leader.",
    },
  },
  ["name"] = "GuildSetLeader",
  ["signature"] = "GuildSetLeader(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Promotes the specified player to be the new guild leader.",
}
GuildSetMOTD = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "message",
      ["desc"] = "The message to set as the guld MOTD",
    },
  },
  ["name"] = "GuildSetMOTD",
  ["signature"] = "GuildSetMOTD(\"message\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the guild message of the day.",
}
GuildUninvite = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to uninvite",
    },
  },
  ["name"] = "GuildUninvite",
  ["signature"] = "GuildUninvite(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Uninvites a player from the guild",
}
HasAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "Action slot number",
    },
  },
  ["name"] = "HasAction",
  ["signature"] = "HasAction(slot)",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "hasAction",
      ["desc"] = "Returns 1 if the slot contains an action, else nil",
    },
  },
  ["desc"] = "Returns a flag if an action slot is occupied.",
}
HasFilledPetition = {
  ["arguments"] = {
  },
  ["name"] = "HasFilledPetition",
  ["signature"] = "hasPetition = HasFilledPetition()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasPetition",
      ["desc"] = "1 if the player has a filled in petition, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player has a completed petition",
}
HasFullControl = {
  ["arguments"] = {
  },
  ["name"] = "HasFullControl",
  ["signature"] = "hasControl = HasFullControl()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasControl",
      ["desc"] = "1 if the player has full control over their characters (i.e. isn't feared, charmed, etc), otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player has full control over their characters",
}
HasInspectHonorData = {
  ["arguments"] = {
  },
  ["name"] = "HasInspectHonorData",
  ["signature"] = "hasHonorData = HasInspectHonorData()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasHonorData",
      ["desc"] = "1 if the client has honor data for the currently inspected player, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the client has honor data for the currently inspected player",
}
HasKey = {
  ["arguments"] = {
  },
  ["name"] = "HasKey",
  ["signature"] = "hasKey = HasKey()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasKey",
      ["desc"] = "Returns 1 if the player has a key, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player currently has a key.",
}
HasNewMail = {
  ["arguments"] = {
  },
  ["name"] = "HasNewMail",
  ["signature"] = "newMail = HasNewMail()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasMail",
      ["desc"] = "1 if the player has new mail, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player has new mail",
}
HasPetSpells = {
  ["arguments"] = {
  },
  ["name"] = "HasPetSpells",
  ["signature"] = "hasPetSpells, petType = HasPetSpells()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasPetSpells",
      ["desc"] = "1 if the player has an active pet with spells/abilities currently, nil otherwise",
    },
    {
      ["type"] = "string",
      ["name"] = "petType",
      ["desc"] = "Type of pet used.",
    },
  },
  ["desc"] = "Returns whether or not the player's current active pet has spells or not.",
}
HasPetUI = {
  ["arguments"] = {
  },
  ["name"] = "HasPetUI",
  ["signature"] = "hasPetUI, isHunterPet = HasPetUI()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasPetUI",
      ["desc"] = "1 if the client should show the pet UI",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isHunterPet",
      ["desc"] = "1 if the player's pet is a hunter pet",
    },
  },
  ["desc"] = "Returns whether or not the client should show the pet UI",
}
HasSoulstone = {
  ["arguments"] = {
  },
  ["name"] = "HasSoulstone",
  ["signature"] = "text = HasSoulstone()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text to be displayed on the dialog box if the player has a soulstone resurrection available, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player has a soulstone resurrection available",
}
HasWandEquipped = {
  ["arguments"] = {
  },
  ["name"] = "HasWandEquipped",
  ["signature"] = "isEquipped = HasWandEquipped()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEquipped",
      ["desc"] = "1 if a wand is equipped, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player has a wand equipped",
}
HideRepairCursor = {
  ["arguments"] = {
  },
  ["name"] = "HideRepairCursor",
  ["signature"] = "HideRepairCursor()",
  ["returns"] = {
  },
  ["desc"] = "Stops displaying the item repair cursor",
}
InCinematic = {
  ["arguments"] = {
  },
  ["name"] = "InCinematic",
  ["signature"] = "inCinematic = InCinematic()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inCinematic",
      ["desc"] = "Is the character viewing a cinematic or not.",
    },
  },
  ["desc"] = "Returns whether or not the character is viewing a cinematic.",
}
InCombatLockdown = {
  ["arguments"] = {
  },
  ["name"] = "InCombatLockdown",
  ["signature"] = "inLockdown = InCombatLockdown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inLockdown",
      ["desc"] = "1 if the user interface is in protected lockdown mode as a result of combat, otherwise nil",
    },
  },
  ["desc"] = "Queries the game client to see if the user interface is currently in protected lockdown mode",
}
InRepairMode = {
  ["arguments"] = {
  },
  ["name"] = "InRepairMode",
  ["signature"] = "inRepair = InRepairMode()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRepair",
      ["desc"] = "1 if the player is currently in \"repair mode\", otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not the player is currently in \"item repair mode\"",
}
InboxItemCanDelete = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the message in the inbox",
    },
  },
  ["name"] = "InboxItemCanDelete",
  ["signature"] = "canDelete = InboxItemCanDelete(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canDelete",
      ["desc"] = "1 if the mail message can be deleted, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not an inbox item can be deleted",
}
InitWorldMapPing = {
  ["arguments"] = {
  },
  ["name"] = "InitWorldMapPing",
  ["signature"] = "InitWorldMapPing(parent)",
  ["returns"] = {
  },
  ["desc"] = "Resets the position of the ping frame (WorldMapPing) on the WorldMap.  There is no real reason to use this.",
}
InitiateTrade = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to initiate a trade with",
    },
  },
  ["name"] = "InitiateTrade",
  ["signature"] = "InitiateTrade(\"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Initiates a trade with a given unit",
}
InviteUnit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to invite",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a unit to invite",
        },
      },
    },
  },
  ["name"] = "InviteUnit",
  ["signature"] = "InviteUnit(\"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Invites a player or unit to the player's party",
}
IsActionInRange = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "action",
      ["desc"] = "The action id",
    },
  },
  ["name"] = "IsActionInRange",
  ["signature"] = "inRange = IsActionInRange(action)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "inRange",
      ["desc"] = "1 if the action is in range of the current target, 0 if out of range, and nil if the target is invalid for this spell",
    },
  },
  ["desc"] = "Returns whether or not the action is in range of the current target",
}
IsActiveBattlefieldArena = {
  ["arguments"] = {
  },
  ["name"] = "IsActiveBattlefieldArena",
  ["signature"] = "isArena, isRegistered = IsActiveBattlefieldArena()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isArena",
      ["desc"] = "1 if the current battlefield is an Arena match",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isRegistered",
      ["desc"] = "1 if the current arena match is a ranked match",
    },
  },
  ["desc"] = "Returns whether or not the current battlefield is an arena match",
}
IsActiveQuestTrivial = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an active quest in the QuestFrame",
    },
  },
  ["name"] = "IsActiveQuestTrivial",
  ["signature"] = "isTrivial = IsActiveQuestTrivial(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isTrivial",
      ["desc"] = "1 if the quest is considered trivial",
    },
  },
  ["desc"] = "Returns whether or not an active quest in the QuestFrame is considered trivial",
}
IsAddOnLoadOnDemand = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the addon to query",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the addon to query",
    },
  },
  ["name"] = "IsAddOnLoadOnDemand",
  ["signature"] = "isLod = IsAddOnLoadOnDemand(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLod",
      ["desc"] = "1 if the addon is capable of load on demand, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given addon can be loaded on demand",
}
IsAddOnLoaded = {
  ["arguments"] = {
    {
      ["type"] = "integer",
      ["name"] = "index",
      ["desc"] = "The addon index to query.  Between 1 and GetNumAddOns().  Blizzard addons cannot be queried by index.  Addon index is OS specific, in some versions of Windows it is alphabetically sorted on folder name.",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Name of the addon to query.  Not case-sensative.  Uses the addon folder name, not the title from the TOC.",
    },
  },
  ["name"] = "IsAddOnLoaded",
  ["signature"] = "loaded = IsAddOnLoaded(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "loaded",
      ["desc"] = "1 is the addon is loaded, nil otherwise",
    },
  },
  ["desc"] = "Query if an addon is loaded (running)",
}
IsAltKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsAltKeyDown",
  ["signature"] = "IsAltKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if an Alt key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not an Alt key on the keyboard is held down.",
}
IsArenaTeamCaptain = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an arena team",
    },
  },
  ["name"] = "IsArenaTeamCaptain",
  ["signature"] = "isCaptain = IsArenaTeamCaptain(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCaptain",
      ["desc"] = "1 if the player is the captain of the given arena team or an invalid index is supplied, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not the player is the team captain for a given arena team",
}
IsAttackAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action slot to query",
    },
  },
  ["name"] = "IsAttackAction",
  ["signature"] = "isAttack = IsAttackAction(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isAttack",
      ["desc"] = "1 if the action is a type of auto-attack, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not the given action flashes when engaged in melee auto-attacking.",
}
IsAttackSpell = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "spellId",
          ["desc"] = "The index of a spell in the spellbook",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a spell",
        },
      },
    },
    {
      ["name"] = "bookType",
      ["type"] = "number",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook",
    },
  },
  ["name"] = "IsAttackSpell",
  ["signature"] = "isAttack = IsAttackSpell(spellId or \"name\" [, \"bookType\"])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isAttack",
      ["desc"] = "1 if the spell is an \"attack spell\", otherwise nil. This is used by the default user interface to indicate if the spell should flash when attacking",
    },
  },
  ["desc"] = "Returns whether or not a given spell is an \"attack spell\"",
}
IsAuctionSortReversed = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions available for bidding/purchase",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "Type of the auction listing",
    },
    {
      ["value"] = {
        ["buyout"] = "Buyout Price column (Bids tab)",
        ["name"] = "Seller column (Browse tab) and High Bidder (Auctions tab)",
        ["duration"] = "Time Left column",
        ["status"] = "Bid Status column (Bids tab)",
        ["level"] = "Lvl column",
        ["bid"] = "Current Bid column",
        ["quality"] = "Rarity column",
      },
      ["type"] = "string",
      ["name"] = "sort",
      ["desc"] = "Colum that can be sorted on",
    },
  },
  ["name"] = "IsAuctionSortReversed",
  ["signature"] = "isReversed, isSorted = IsAuctionSortReversed(\"type\", \"sort\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isReversed",
      ["desc"] = "1 if the queried sort is reversed, nil otherwise",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isSorted",
      ["desc"] = "1 if the queried sort has been sorted on, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not a column in the auction house interface is reverse sorted or not.",
}
IsAutoRepeatAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "action",
      ["desc"] = "The action id to check.",
    },
  },
  ["name"] = "IsAutoRepeatAction",
  ["signature"] = "repeat = IsAutoRepeatAction(action)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "repeat",
      ["desc"] = "1 if the action is an auto-repeat action, nil otherwise",
    },
  },
  ["desc"] = "Checks if an action is an auto-repeat action (e.g. Auto Shot).",
}
IsAutoRepeatSpell = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "spellName",
      ["desc"] = "The name of the spell to query",
    },
  },
  ["name"] = "IsAutoRepeatSpell",
  ["signature"] = "isAutoRepeat = IsAutoRepeatSpell(\"spellName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isAutoRepeat",
      ["desc"] = "If the spell is an auto-repeating spell",
    },
  },
  ["desc"] = "Returns whether or not the given spell is an auto-repeat spell",
}
IsAvailableQuestTrivial = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the quest to check.",
    },
  },
  ["name"] = "IsAvailableQuestTrivial",
  ["signature"] = "trivial = IsAvailableQuestTrivial(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "trivial",
      ["desc"] = "1 if the available quest is trivial, nil otherwise",
    },
  },
  ["desc"] = "Returns the trivial state for the quests available at a quest NPC.",
}
IsBattlefieldArena = {
  ["arguments"] = {
  },
  ["name"] = "IsBattlefieldArena",
  ["signature"] = "isArena = IsBattlefieldArena()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isArena",
      ["desc"] = "1 if the interacting npc can queue the player for arenas, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not the npc the player is interacting with can queue for arenas",
}
IsConsumableAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action id of the slot to be queried.",
    },
  },
  ["name"] = "IsConsumableAction",
  ["signature"] = "isConsumableAction = IsConsumableAction(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isConsumableAction",
      ["desc"] = "1 if the action is a consumable, otherwise nil",
    },
  },
  ["desc"] = "Returns 1 if the action id contains a consumable, otherwise nil.",
}
IsConsumableItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "An item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "An item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "An item's link",
        },
      },
    },
  },
  ["name"] = "IsConsumableItem",
  ["signature"] = "consumable = IsConsumableItem(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "consumable",
      ["desc"] = "1 if the item is a consumable, nil for invalid or non-consumable items.",
    },
  },
  ["desc"] = "Whether or not a given item is consumable.",
}
IsConsumableSpell = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "spell",
          ["desc"] = "The name of the spell to query",
        },
        {
          ["type"] = "string",
          ["name"] = "spellId",
          ["desc"] = "The spell book slot index of the spell to query",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "bookType",
      ["values"] = {
        ["pet"] = "Look up the slot index in the player's pet's spell book",
        ["spell"] = "Look up the slot index in the normal spell book",
      },
      ["optional"] = true,
      ["desc"] = "The spell book type to look up the slot index in (required when slot index is used)",
    },
  },
  ["name"] = "IsConsumableSpell",
  ["signature"] = "isConsumable = IsConsumableSpell(\"spell\" or spellId [, \"bookType\"])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isConsumable",
      ["desc"] = "1 if the spell requires a consumable reagent, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not a spell requires a consumable reagent",
}
IsControlKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsControlKeyDown",
  ["signature"] = "IsControlKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if a Control key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not a Control key on the keyboard is held down",
}
IsCurrentAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An actionbar slot",
    },
  },
  ["name"] = "IsCurrentAction",
  ["signature"] = "isCurrent = IsCurrentAction(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCurrent",
      ["desc"] = "1 if the given action is currently being cast or is the action currently awaiting targeting, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a specific action is currently being cast, or awaiting targeting ",
}
IsCurrentItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "An item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "An item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "An item's link",
        },
      },
    },
  },
  ["name"] = "IsCurrentItem",
  ["signature"] = "IsCurrentItem(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isItem",
      ["desc"] = "1 if the item is being used or awaiting input (such as a targetted effect)",
    },
  },
  ["desc"] = "Returns true if the item is being used and nothing if it is not",
}
IsCurrentQuestFailed = {
  ["arguments"] = {
  },
  ["name"] = "IsCurrentQuestFailed",
  ["signature"] = "isFailed = IsCurrentQuestFailed()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isFailed",
      ["desc"] = "1 if the current quest is failed, otherwise nil",
    },
  },
  ["desc"] = "Queries the failed state for the currently selected quest.",
}
IsCurrentSpell = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "spellName",
          ["desc"] = "The name of a spell",
        },
        {
          ["type"] = "number",
          ["name"] = "spellId",
          ["desc"] = "The spellId of a spell",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "bookType",
      ["optional"] = true,
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook the supplied spellId is for",
    },
  },
  ["name"] = "IsCurrentSpell",
  ["signature"] = "isCurrent = IsCurrentSpell(\"spellName\" or spellId [, \"bookType\"])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCurrent",
      ["desc"] = "1 if the given spell is currently being cast, or awaiting targeting",
    },
  },
  ["desc"] = "Returns whether or not a given spell is currently being cast or awaiting targeting",
}
IsDisplayChannelModerator = {
  ["arguments"] = {
  },
  ["name"] = "IsDisplayChannelModerator",
  ["signature"] = "isModerator = IsDisplayChannelModerator()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isModerator",
      ["desc"] = "1 if the player is a moderator of the currently selected display channel, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not the player is a moderator of the currently selected display channel in the Chat tab",
}
IsDisplayChannelOwner = {
  ["arguments"] = {
  },
  ["name"] = "IsDisplayChannelOwner",
  ["signature"] = "isOwner = IsDisplayChannelOwner()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isOwner",
      ["desc"] = "1 if the player is the owner of the currently displayed channel",
    },
  },
  ["desc"] = "Returns whether or not the player is the owner of the currently displayed channel",
}
IsDressableItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "The item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "\"itemName\"",
          ["desc"] = "The item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "\"itemLink\"",
          ["desc"] = "The item's link",
        },
      },
    },
  },
  ["name"] = "IsDressableItem",
  ["signature"] = "isDressable = IsDressableItem(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDressable",
      ["desc"] = "1 if you can try the item on, otherwise nil",
    },
  },
  ["desc"] = "Determines whether the given item can be put on in the dressing room",
}
IsEquippableItem = {
  ["arguments"] = {
  },
  ["name"] = "IsEquippableItem",
  ["signature"] = "isEquippable = IsEquippableItem(name)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEquippable",
      ["desc"] = "1 if the item is equippable, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given item is equippable",
}
IsEquippedAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The action bar slot",
    },
  },
  ["name"] = "IsEquippedAction",
  ["signature"] = "IsEquippedAction(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEquipped",
      ["desc"] = "1 if the slot has an equipped item, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not an action slot contains an equipped item.",
}
IsEquippedItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "A name of an item",
        },
        {
          ["type"] = "itemId",
          ["name"] = "itemId",
          ["desc"] = "A item's itemId",
        },
      },
    },
  },
  ["name"] = "IsEquippedItem",
  ["signature"] = "isEquipped = IsEquippedItem(\"name\" or itemId)",
  ["returns"] = {
    {
      ["name"] = "isEquipped",
      ["type"] = "1nil",
      ["values"] = {
        ["1"] = "The item is equipped",
        ["nil"] = "The item is not equipped",
      },
      ["desc"] = "1 if the item is equipped, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the supplied item is currently equipped by the player",
}
IsEquippedItemType = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "type",
      ["desc"] = "The item type to query",
    },
  },
  ["name"] = "IsEquippedItemType",
  ["signature"] = "isEquipped = IsEquippedItemType(\"type\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEquipped",
      ["desc"] = "1 if the given item type is currently equipped, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not an item type is currently equipped",
}
IsFactionInactive = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a faction to query",
    },
  },
  ["name"] = "IsFactionInactive",
  ["signature"] = "isInactive = IsFactionInactive(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isInactive",
      ["desc"] = "1 if the faction is currently flagged as \"inactive\" otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a faction is flagged as \"inactive\"",
}
IsFalling = {
  ["arguments"] = {
  },
  ["name"] = "IsFalling",
  ["signature"] = "falling = IsFalling()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "falling",
      ["desc"] = "1 if the player is falling, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is falling",
}
IsFishingLoot = {
  ["arguments"] = {
  },
  ["name"] = "IsFishingLoot",
  ["signature"] = "isFishing = IsFishingLoot()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isFishing",
      ["desc"] = "1 if the currently displayed loot is fishing loot, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the currently displayed loot is fishing loot",
}
IsFlyableArea = {
  ["arguments"] = {
  },
  ["name"] = "IsFlyableArea",
  ["signature"] = "isFlyable = IsFlyableArea()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isFlyable",
      ["desc"] = "1 if the current area is a flyable area, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player's current location is a flyable area",
}
IsFlying = {
  ["arguments"] = {
  },
  ["name"] = "IsFlying",
  ["signature"] = "isFlying = IsFlying()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isFlying",
      ["desc"] = "1 if the player is currently flying, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is currently flying",
}
IsGuildLeader = {
  ["arguments"] = {
  },
  ["name"] = "IsGuildLeader",
  ["signature"] = "isLeader = IsGuildLeader()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLeader",
      ["desc"] = "1 if the player is a guild leader, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the current player is guild leader",
}
IsHarmfulItem = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "itemName",
      ["desc"] = "The name of the item to query",
    },
  },
  ["name"] = "IsHarmfulItem",
  ["signature"] = "isHarmful = IsHarmfulItem(\"itemName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isHarmful",
      ["desc"] = "1 if the item is harmful, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not an item is harmful (hostile to your target)",
}
IsHarmfulSpell = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "spell",
      ["desc"] = "The name of the spell to query",
    },
  },
  ["name"] = "IsHarmfulSpell",
  ["signature"] = "isHarmful = IsHarmfulSpell(\"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isHarmful",
      ["desc"] = "1 if the spell is harmful, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given spell is harmful",
}
IsHelpfulItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "An item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "An item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "An item's link",
        },
      },
    },
  },
  ["name"] = "IsHelpfulItem",
  ["signature"] = "helpful = IsHelpfulItem(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "helpful",
      ["desc"] = "1 if the item is helpful, nil for invalid or non-helpful items.",
    },
  },
  ["desc"] = "Returns whether or not the item is helpful",
}
IsHelpfulSpell = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "spell",
      ["desc"] = "The name of the spell to query",
    },
  },
  ["name"] = "IsHelpfulSpell",
  ["signature"] = "isHelpful = IsHelpfulSpell(name)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isHelpful",
      ["desc"] = "1 if the spell is helpful, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given spell is helpful",
}
IsIgnored = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "IsIgnored",
  ["signature"] = "isIgnored = IsIgnored(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isIgnored",
      ["desc"] = "1 if the given player is being ignored, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not you are ignoring a specific unit.",
}
IsIgnoredOrMuted = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "unit to query",
    },
  },
  ["name"] = "IsIgnoredOrMuted",
  ["signature"] = "isIgnoredorMuted = IsIgnoredOrMuted(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isIgnoredOrMuted",
      ["desc"] = "1 if a unit is ignored or muted, nil otherwise",
    },
  },
  ["desc"] = "Returns a true value if the queried unit is currently ignored or muted by the player",
}
IsInGuild = {
  ["arguments"] = {
  },
  ["name"] = "IsInGuild",
  ["signature"] = "inGuild = IsInGuild()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inGuild",
      ["desc"] = "1 if the player is in a guild, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is in a guild",
}
IsInInstance = {
  ["arguments"] = {
  },
  ["name"] = "IsInInstance",
  ["signature"] = "inInstance, instanceType = IsInInstance()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isInstance",
      ["desc"] = "1 if the player is in an instance, otherwise nil",
    },
    {
      ["name"] = "instanceType",
      ["type"] = "string",
      ["values"] = {
        ["pvp"] = "Player versus player instance",
      },
      ["desc"] = "The type of instance the player is in",
    },
  },
  ["desc"] = "Returns whether or not the player is currently in an instance, and if so what type",
}
IsInLFGQueue = {
  ["arguments"] = {
  },
  ["name"] = "IsInLFGQueue",
  ["signature"] = "inQueue = IsInLFGQueue()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inQueue",
      ["desc"] = "1 if the player is currently in the LFG queue, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is currently in the LFG queue",
}
IsIndoors = {
  ["arguments"] = {
  },
  ["name"] = "IsIndoors",
  ["signature"] = "inside = IsIndoors()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inside",
      ["desc"] = "1 if the player is currently indoors, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is currently indoors",
}
IsInventoryItemLocked = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An inventory slot id",
    },
  },
  ["name"] = "IsInventoryItemLocked",
  ["signature"] = "isLocked = IsInventoryItemLocked(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLocked",
      ["desc"] = "1 if the item in the inventory slot is locked, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given inventory slot is locked",
}
IsItemInRange = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemid",
          ["desc"] = "The item's id",
        },
        {
          ["type"] = "string",
          ["name"] = "itemname",
          ["desc"] = "The name of an item",
        },
        {
          ["type"] = "string",
          ["name"] = "itemlink",
          ["desc"] = "A valid item link",
        },
      },
    },
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to query",
    },
  },
  ["name"] = "IsItemInRange",
  ["signature"] = "inRange = IsItemInRange(itemid or \"itemname\" or \"itemlink\", \"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRange",
      ["desc"] = "1 if the item is in range of the given unit, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a usable item is in range of a given unit",
}
IsLeftAltKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsLeftAltKeyDown",
  ["signature"] = "isDown = IsLeftAltKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the left Alt key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not the left Alt key is currently held down",
}
IsLeftControlKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsLeftControlKeyDown",
  ["signature"] = "isDown = IsLeftControlKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the left Control key is held down",
    },
  },
  ["desc"] = "Returns whether or not the left Control key is held down",
}
IsLeftShiftKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsLeftShiftKeyDown",
  ["signature"] = "IsLeftShiftKeyDown",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the left Shift key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not the left Shift key on the keyboard is held down",
}
IsLinuxClient = {
  ["arguments"] = {
  },
  ["name"] = "IsLinuxClient",
  ["signature"] = "isLinux = IsLinuxClient()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "IsLinux",
      ["desc"] = "1 if the client is a Linux client, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the game client is running on Linux",
}
IsLoggedIn = {
  ["arguments"] = {
  },
  ["name"] = "IsLoggedIn",
  ["signature"] = "loggedIn = IsLoggedIn()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "loggedIn",
      ["desc"] = "1 if the PLAYER_LOGIN even has already happened, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the PLAYER_LOGIN event has already fired.",
}
IsMacClient = {
  ["arguments"] = {
  },
  ["name"] = "IsMacClient",
  ["signature"] = "isMac = IsMacClient()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isMac",
      ["desc"] = "1 if the client is a Mac client, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the running client is a Mac",
}
IsModifiedClick = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "type",
      ["desc"] = "The name of the click-type.",
    },
  },
  ["name"] = "IsModifiedClick",
  ["signature"] = "modifiedClick = IsModifiedClick(type)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "modifiedClick",
      ["desc"] = "1 if the click was modifierd, nil otherwise",
    },
  },
  ["desc"] = "Determines if the modifiers specified in the click-type had been held down while the button click occured.",
}
IsModifierKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsModifierKeyDown",
  ["signature"] = "isDown = IsModifierKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if any modifier key is held down, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a modifier key is held down",
}
IsMounted = {
  ["arguments"] = {
  },
  ["name"] = "IsMounted",
  ["signature"] = "mounted = IsMounted()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "mounted",
      ["desc"] = "1 if the player is mounted, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not your character is mounted.",
}
IsMouseButtonDown = {
  ["arguments"] = {
    {
      ["name"] = "button",
      ["type"] = "string",
      ["values"] = {
        "LeftButton",
        "RightButton",
        "MiddleButton",
        "Button4",
        "Button5",
      },
      ["desc"] = "The mouse button to query",
    },
  },
  ["name"] = "IsMouseButtonDown",
  ["signature"] = "isDown = IsMouseButtonDown(button)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the mouse button is down, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given mouse button is held down",
}
IsMouselooking = {
  ["arguments"] = {
  },
  ["name"] = "IsMouselooking",
  ["signature"] = "isLooking = IsMouselooking()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isLooking",
      ["desc"] = "Returns true if mouselook mode is active, false otherwise",
    },
  },
  ["desc"] = "Returns whether or not mouselook mode is active",
}
IsMuted = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to query.",
    },
  },
  ["name"] = "IsMuted",
  ["signature"] = "muted  = IsMuted(unit)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "muted",
      ["desc"] = "1 if the unit is muted, nil otherwise",
    },
  },
  ["desc"] = "Returns the mute status for a given player.",
}
IsOutOfBounds = {
  ["arguments"] = {
  },
  ["name"] = "IsOutOfBounds",
  ["signature"] = "outOfBounds = IsOutOfBounds()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "outOfBounds",
      ["desc"] = "1 if the player is currently outside the bounds of the world, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is currently outside the bounds of the world",
}
IsOutdoors = {
  ["arguments"] = {
  },
  ["name"] = "IsOutdoors",
  ["signature"] = "isOutdoors = IsOutdoors()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isOutdoors",
      ["desc"] = "1 if the player is currently outdoors, otherwise nil",
    },
  },
  ["desc"] = "This function returns whether or not the player is currently outdoors.",
}
IsPartyLeader = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "IsPartyLeader",
  ["signature"] = "isLeader = IsPartyLeader(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLeader",
      ["desc"] = "1 if the unit is the party leader, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit is the current party leader",
}
IsPassiveSpell = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of the spell being queried",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["BOOKTYPE_SPELL"] = "The standard player spellbook",
        ["BOOKTYPE_PET"] = "The pet spellbook",
      },
      ["desc"] = "A string indicating which spellbook type should be queried.  This is either the value BOOKTYPE_SPELL, or BOOKTYPE_PET which correspond to the strings \"spell\" and \"pet\".",
    },
  },
  ["name"] = "IsPassiveSpell",
  ["signature"] = "isPassive  = IsPassiveSpell(id, bookType)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPassive",
      ["desc"] = "1 if the spell is passive, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given spell is passive (i.e. cannot be cast)",
}
IsPetAttackActive = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the pet's attack action",
    },
  },
  ["name"] = "IsPetAttackActive",
  ["signature"] = "isActive = IsPetAttackActive(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isActive",
      ["desc"] = "1 if the pet's attack action is currently active, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the pet's attack action is currently active",
}
IsPossessBarVisible = {
  ["arguments"] = {
  },
  ["name"] = "IsPossessBarVisible",
  ["signature"] = "isVisible = IsPossessBarVisible()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isVisible",
      ["desc"] = "if the the possessionbar should be visible, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not the PossessBar should be visible",
}
IsQuestCompletable = {
  ["arguments"] = {
  },
  ["name"] = "IsQuestCompletable",
  ["signature"] = "isCompletable = IsQuestCompletable()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCompletable",
      ["desc"] = "1 if the currently viewed quest is completable, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the currently viewed quest is completable",
}
IsQuestWatched = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a quest in the quest log",
    },
  },
  ["name"] = "IsQuestWatched",
  ["signature"] = "isWatched = IsQuestWatched(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isWatched",
      ["desc"] = "1 if the quest is being watched, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given quest is currently being watched",
}
IsRaidLeader = {
  ["arguments"] = {
  },
  ["name"] = "IsRaidLeader",
  ["signature"] = "isLeader = IsRaidLeader()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLeader",
      ["desc"] = "1 if the player is the leader of their current raid, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is the leader of their current raid",
}
IsRaidOfficer = {
  ["arguments"] = {
  },
  ["name"] = "IsRaidOfficer",
  ["signature"] = "isRaidOfficer = IsRaidOfficer()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isRaidOfficer",
      ["desc"] = "Whether or not the player is a Raid Officer",
    },
  },
  ["desc"] = "Returns whether or not the player is a Raid Officer or not",
}
IsRealPartyLeader = {
  ["arguments"] = {
  },
  ["name"] = "IsRealPartyLeader",
  ["signature"] = "isLeader = IsRealPartyLeader()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLeader",
      ["desc"] = "1 if the player is the party leader of the \"real party\", otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is the leader of their \"real party\"",
}
IsRealRaidLeader = {
  ["arguments"] = {
  },
  ["name"] = "IsRealRaidLeader",
  ["signature"] = "isLeader = IsRealRaidLeader()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLeader",
      ["desc"] = "1 if the player is the leader of the \"real\" raid.  When in arena/battlegrounds the player is still a member of whatever party or raid they belonged to prior to beginning the match.",
    },
  },
  ["desc"] = "Returns whether or not the player is the leader of their non-battleground raid party",
}
IsResting = {
  ["arguments"] = {
  },
  ["name"] = "IsResting",
  ["signature"] = "resting = IsResting()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "resting",
      ["desc"] = "Whether the player is resting",
    },
  },
  ["desc"] = "Returns the player's resting status",
}
IsRightAltKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsRightAltKeyDown",
  ["signature"] = "isDown = IsRightAltKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the right Alt key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not the right Alt key is currently held down",
}
IsRightControlKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsRightControlKeyDown",
  ["signature"] = "isDown = IsRightControlKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the right Control key on the keyboard is held down",
    },
  },
  ["desc"] = "Returns whether or not the right Control key on the keyboard is held down",
}
IsRightShiftKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsRightShiftKeyDown",
  ["signature"] = "isDown = IsRightShiftKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if the right shift key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not the right shift key on the keyboard is held down",
}
IsSelectedSpell = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The index of a spell in the spellbook",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The spellbook type",
    },
  },
  ["name"] = "IsSelectedSpell",
  ["signature"] = "isSelected = IsSelectedSpell(id, bookType)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSelected",
      ["desc"] = "1 if the given spell is currently selected, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a specific spell is currently selected in the spellbook",
}
IsShiftKeyDown = {
  ["arguments"] = {
  },
  ["name"] = "IsShiftKeyDown",
  ["signature"] = "IsShiftKeyDown()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDown",
      ["desc"] = "1 if a Shift key on the keyboard is currently held down",
    },
  },
  ["desc"] = "Returns whether or not a Shift key on the keyboard is held down.",
}
IsSilenced = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to query",
    },
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The channel to query",
    },
  },
  ["name"] = "IsSilenced",
  ["signature"] = "isSilenced = IsSilenced(\"name\", \"channel\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSilenced",
      ["desc"] = "1 if the player is silenced on the given channel, or nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is silenced for Voice Chat on a channel",
}
IsSpellInRange = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "spell",
      ["desc"] = "The name of a spell to query",
    },
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "IsSpellInRange",
  ["signature"] = "inRange = IsSpellInRange(\"spell\", \"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inRange",
      ["desc"] = "1 if the spell is in range of the given unit, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a spell is in range of a given unit",
}
IsStackableAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The number of an action slot",
    },
  },
  ["name"] = "IsStackableAction",
  ["signature"] = "isStackable = IsStackableAction(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isStackable",
      ["desc"] = "1 if the action is a stackable action, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given action slot contains a stackable action.",
}
IsStealthed = {
  ["arguments"] = {
  },
  ["name"] = "IsStealthed",
  ["signature"] = "stealthed = IsStealthed()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "stealthed",
      ["desc"] = "1 if the player is stealthed, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is currently stealthed",
}
IsSubZonePVPPOI = {
  ["arguments"] = {
  },
  ["name"] = "IsSubZonePVPPOI",
  ["signature"] = "isPVPPOI = IsSubZonePVPPOI()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPVPPOI",
      ["desc"] = "1 if the current subzone is a PVP point of interest.  This is used when the \"Display World PVP Objectives\" setting is set to \"Dynamic\".  In this case the PVP objectives are only shown when the player is in a PVP point of interest.",
    },
  },
  ["desc"] = "Returns whether or not the current subzone is a PVP point of interest",
}
IsSwimming = {
  ["arguments"] = {
  },
  ["name"] = "IsSwimming",
  ["signature"] = "isSwimming = IsSwimming()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSwimming",
      ["desc"] = "1 if the player is currently swimming, otherwise nil",
    },
  },
  ["desc"] = "This function returns whether or not the player is currently swimming.",
}
IsTitleKnown = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "titleId",
      ["desc"] = "A title index from 1 to GetNumTitles()",
    },
  },
  ["name"] = "IsTitleKnown",
  ["signature"] = "isKnown = IsTitleKnown(titleId)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isKnown",
      ["desc"] = "1 if the title is known (available) to the player, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given title is known (available) to the player",
}
IsTradeskillTrainer = {
  ["arguments"] = {
  },
  ["name"] = "IsTradeskillTrainer",
  ["signature"] = "isTradeskill = IsTradeskillTrainer()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isTradeskill",
      ["desc"] = "1 if the currently open training window is a tradeskill trainer",
    },
  },
  ["desc"] = "Returns whether or not the currently open training window is a tradeskill trainer",
}
IsTrainerServiceSkillStep = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a skill in the trainer window.  This index is affected by filtering, so the first shown skill is index 1.",
    },
  },
  ["name"] = "IsTrainerServiceSkillStep",
  ["signature"] = "isSkillStep = IsTrainerServiceSkillStep(index)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSkillStep",
      ["desc"] = "1 if the service offered by the trainer is one that will affect the player's skill (such as Journeyman Leatherworking, or Apprentice First Aid.",
    },
  },
  ["desc"] = "Returns whether or not the given trainer service is a skill step, rather than a recipe.",
}
IsUnitOnQuest = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The quest index to query.",
    },
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to query.",
    },
  },
  ["name"] = "IsUnitOnQuest",
  ["signature"] = "state = IsUnitOnQuest(index, \"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "state",
      ["desc"] = "1 if the unit is on that quest, nil otherwise",
    },
  },
  ["desc"] = "Checks if a specified unit is on a quest from the players quest log.",
}
IsUsableAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slotid of the action to query",
    },
  },
  ["name"] = "IsUsableAction",
  ["signature"] = "isUsable, notEnoughMana = IsUsableAction(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the skill is usable, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "notEnoughMana",
      ["desc"] = "1 if the player is lacking the mana to take the action, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the action is usable",
}
IsUsableItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemID",
          ["desc"] = "An item's ID",
        },
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "An item's name",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "An item's link",
        },
      },
    },
  },
  ["name"] = "IsUsableItem",
  ["signature"] = "isUsable, unknown = IsUsableItem(itemID or \"itemName\" or \"itemLink\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the item is currently usable, otherwise nil",
    },
    {
      ["type"] = "unknown",
      ["name"] = "unknown",
      ["desc"] = "Unknown purpose.  May be used to indicate why an item is not usable, but cannot determine.",
    },
  },
  ["desc"] = "Determine the usability of an item.",
}
IsUsableSpell = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "spellName",
          ["desc"] = "The name of the spell to query",
        },
        {
          ["type"] = "number",
          ["name"] = "spellIndex",
          ["desc"] = "The spellbook index of the spell to query",
        },
      },
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "bookType",
      ["desc"] = "The type of spell book to look up spellIndex in (required when using spellIndex)",
    },
  },
  ["name"] = "IsUsableSpell",
  ["signature"] = "isUsable, outOfMana = IsUsableSpell(\"spellName\" or spellIndex [, \"bookType\"])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isUsable",
      ["desc"] = "1 if the spell is usable, nil otherwise",
    },
    {
      ["type"] = "1nil",
      ["name"] = "outOfMana",
      ["desc"] = "1 if the spell cannot be used due to lack of mana, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not a given spell is usable or cannot be used due to lack of mana",
}
IsVoiceChatAllowed = {
  ["arguments"] = {
  },
  ["name"] = "IsVoiceChatAllowed",
  ["signature"] = "isAllowed = IsVoiceChatAllowed()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isAllowed",
      ["desc"] = "1 if voice chat is allowed, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the current client/account is allowed to use the voice chat feature",
}
IsVoiceChatAllowedByServer = {
  ["name"] = "IsVoiceChatAllowedByServer",
  ["signature"] = "isAllowed = IsVoiceChatAllowedByServer()",
  ["desc"] = "Returns 1 if voice chat is allowed on the server, otherwise nil.",
}
IsVoiceChatEnabled = {
  ["arguments"] = {
  },
  ["name"] = "IsVoiceChatEnabled",
  ["signature"] = "isEnabled = IsVoiceChatEnabled()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isEnabled",
      ["desc"] = "1 if the voice chat system is enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the voice chat system is enabled",
}
IsWindowsClient = {
  ["arguments"] = {
  },
  ["name"] = "IsWindowsClient",
  ["signature"] = "isWindows = IsWindowsClient()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isWindows",
      ["desc"] = "True if the user runs Windows, false if Mac or Linux",
    },
  },
  ["desc"] = "Checks if the client's OS is Windows",
}
ItemHasRange = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "itemid",
          ["desc"] = "The item's id",
        },
        {
          ["type"] = "string",
          ["name"] = "itemname",
          ["desc"] = "The name of an item",
        },
        {
          ["type"] = "string",
          ["name"] = "itemlink",
          ["desc"] = "A valid item link",
        },
      },
    },
  },
  ["name"] = "ItemHasRange",
  ["signature"] = "hasRange = ItemHasRange(itemid or \"itemname\" or \"itemlink\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasRange",
      ["desc"] = "1 if the item has a range, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not the item has a range for use.",
}
ItemTextGetCreator = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextGetCreator",
  ["signature"] = "creator = ItemTextGetCreator()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "creator",
      ["desc"] = "Creator of the text, nil if not available.",
    },
  },
  ["desc"] = "Gets the creator of the text currently being viewed. Used for books, parchments and the like.",
}
ItemTextGetItem = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextGetItem",
  ["signature"] = "text = ItemTextGetItem()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The name of the currently viewed item",
    },
  },
  ["desc"] = "Returns the name of the currently viewed ItemText item",
}
ItemTextGetMaterial = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextGetMaterial",
  ["signature"] = "material = ItemTextGetMaterial()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "material",
      ["desc"] = "Texture for the current book/parchment being displayed.",
    },
  },
  ["desc"] = "Returns the texture for the current book/parchement being displayed in the ItemTextFrame. A return value of 'nil' means 'Parchment' is being used.",
}
ItemTextGetPage = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextGetPage",
  ["signature"] = "page = ItemTextGetPage()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "page",
      ["desc"] = "The page number of the currently viewed page of the item text",
    },
  },
  ["desc"] = "Returns the page number of the currently item text",
}
ItemTextGetText = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextGetText",
  ["signature"] = "text = ItemTextGetText()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text associated with the open item",
    },
  },
  ["desc"] = "Returns the test associated with the open item.",
}
ItemTextHasNextPage = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextHasNextPage",
  ["signature"] = "next = ItemTextHasNextPage()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "next",
      ["desc"] = "1 if the currently open book has a page following the current one, nil otherwise.",
    },
  },
  ["desc"] = "Determines if the currently open book has another page following the current one.",
}
ItemTextNextPage = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextNextPage",
  ["signature"] = "ItemTextNextPage()",
  ["returns"] = {
  },
  ["desc"] = "Asks the game to move the currently open book, or other readable object to the next page of text.",
}
ItemTextPrevPage = {
  ["arguments"] = {
  },
  ["name"] = "ItemTextPrevPage",
  ["signature"] = "ItemTextPrevPage()",
  ["returns"] = {
  },
  ["desc"] = "Asks the game to move the currently open book, or other readable object to the previous page of text.",
}
JoinBattlefield = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the specific battlefield to join.  A value of 0 will join the first available battlefield.",
    },
    {
      ["type"] = "1nil",
      ["name"] = "asGroup",
      ["desc"] = "1 will queue your entire group for the chosen battlefield, otherwise only the player will be queued.",
    },
  },
  ["name"] = "JoinBattlefield",
  ["signature"] = "JoinBattlefield(index, asGroup)",
  ["returns"] = {
  },
  ["desc"] = "Queues for a specific battlefield, optionally as a group",
}
JoinChannelByName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "Channel name to join",
    },
    {
      ["type"] = "string",
      ["name"] = "password",
      ["desc"] = "Optional password required to join",
    },
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "ChatFrame id to display the channel in",
    },
  },
  ["name"] = "JoinChannelByName",
  ["signature"] = "zoneChannel, channelName = JoinChannelByName(\"name\" [, \"password\" [, id]])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "zoneChannel",
      ["desc"] = "The index of the zone channel, or 0",
    },
    {
      ["type"] = "string",
      ["name"] = "channelName",
      ["desc"] = "The display name of the channel, if the channel was a zone channel",
    },
  },
  ["desc"] = "Joins the given chat channel.  Deprecated, see JoinPermanentChannel.",
}
JoinPermanentChannel = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the channel to join",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "password",
      ["desc"] = "The password to use when joining",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "chatFrameIndex",
      ["desc"] = "The index of a chat frame.",
    },
    {
      ["type"] = "1nil",
      ["optional"] = true,
      ["name"] = "enableVoice",
      ["desc"] = "1 to enable voice in the channel, otherwise nil",
    },
  },
  ["name"] = "JoinPermanentChannel",
  ["signature"] = "zoneChannel, channelName = JoinPermanentChannel(\"name\" [, \"password\" [, \"chatFrameIndex\" [, enableVoice]]])",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "zoneChannel",
      ["desc"] = "The index of the zone channel, or 0",
    },
    {
      ["type"] = "string",
      ["name"] = "channelName",
      ["desc"] = "The display name of the channel, if the channel was a zone channel",
    },
  },
  ["desc"] = "Joins a channel, saving any relevant settings in chat-cache.txt",
}
JoinTemporaryChannel = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of a channel to join",
    },
  },
  ["name"] = "JoinTemporaryChannel",
  ["signature"] = "JoinTemporaryChannel(\"channel\")",
  ["returns"] = {
  },
  ["desc"] = "Joins a channel",
}
JumpOrAscendStart = {
  ["arguments"] = {
  },
  ["name"] = "JumpOrAscendStart",
  ["signature"] = "JumpOrAscendStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
KBArticle_BeginLoading = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "articleId",
      ["desc"] = "The unique articleId to request",
    },
    {
      ["name"] = "searchType",
      ["type"] = "number",
      ["values"] = {
        "No search text was entered",
        "Search text was entered",
      },
      ["desc"] = "The search type of the request",
    },
  },
  ["name"] = "KBArticle_BeginLoading",
  ["signature"] = "KBArticle_BeginLoading(articleId, searchType)",
  ["returns"] = {
  },
  ["desc"] = "Requests a specific knowledge base article from the server",
}
KBArticle_GetData = {
  ["arguments"] = {
  },
  ["name"] = "KBArticle_GetData",
  ["signature"] = "id, subject, subjectAlt, text, keywords, languageId, isHot  = KBArticle_GetData()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The unique articleId for the article",
    },
    {
      ["type"] = "string",
      ["name"] = "subject",
      ["desc"] = "The subject of the article",
    },
    {
      ["type"] = "string",
      ["name"] = "subjectAlt",
      ["desc"] = "Alternate text for the article subject",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The body of the article",
    },
    {
      ["type"] = "string",
      ["name"] = "keywords",
      ["desc"] = "A comma separated list of keywords for the article",
    },
    {
      ["type"] = "number",
      ["name"] = "languageId",
      ["desc"] = "The languageId for the given article.  See the returns from API_KBSetup_GetLanguageData() for these values",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isHot",
      ["desc"] = "true if the article is a \"Hot Item\", otherwise false",
    },
  },
  ["desc"] = "Returns information about the last requested knowledge base article",
}
KBArticle_IsLoaded = {
  ["arguments"] = {
  },
  ["name"] = "KBArticle_IsLoaded",
  ["signature"] = "isLoaded = KBArticle_IsLoaded()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isLoaded",
      ["desc"] = "true after the KNOWLEDGE_BASE_ARTICLE_LOAD_SUCCESS event has fired by fetching a specific article.  This value will be retained through reloading the user interface, selecting a new character.  It will be reset if the client is closed entirely",
    },
  },
  ["desc"] = "Returns whether or not the requested knowledge base article has been loaded",
}
KBQuery_BeginLoading = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "searchText",
      ["desc"] = "The search string to use.  The empty string will search for all articles in the given category",
    },
    {
      ["type"] = "number",
      ["name"] = "categoryIndex",
      ["desc"] = "The category index",
    },
    {
      ["type"] = "number",
      ["name"] = "subcategoryIndex",
      ["desc"] = "The subcategory index",
    },
    {
      ["type"] = "number",
      ["name"] = "numArticles",
      ["desc"] = "The number of articles to be returned for each page",
    },
    {
      ["type"] = "number",
      ["name"] = "page",
      ["desc"] = "The page of the total results that should be displayed.",
    },
  },
  ["name"] = "KBQuery_BeginLoading",
  ["signature"] = "KBQuery_BeginLoading(searchText, categoryIndex, subcategoryIndex, numArticles, page)",
  ["returns"] = {
  },
  ["desc"] = "Queries the knowledge base server for articles",
}
KBQuery_GetArticleHeaderCount = {
  ["arguments"] = {
  },
  ["name"] = "KBQuery_GetArticleHeaderCount",
  ["signature"] = "articleHeaderCount  = KBQuery_GetArticleHeaderCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "articleHeaderCount",
      ["desc"] = "The number of articles on the current knowledge base search result base page",
    },
  },
  ["desc"] = "Returns the number of articles on the current knowledge base search result page",
}
KBQuery_GetArticleHeaderData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the article to query",
    },
  },
  ["name"] = "KBQuery_GetArticleHeaderData",
  ["signature"] = "articleId, title, isHotIssue, isRecentlyUpdated = artiKBQuery_GetArticleHeaderData(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "articleId",
      ["desc"] = "A unique articleId for the article",
    },
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "The title of the article",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isHotIssue",
      ["desc"] = "true if the article is a \"Hot Issue\", otherwise false",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isRecentlyUpdated",
      ["desc"] = "true if the article has been recently updated, otherwise false",
    },
  },
  ["desc"] = "Returns information about an article returned in a knowledge base query",
}
KBQuery_GetTotalArticleCount = {
  ["arguments"] = {
  },
  ["name"] = "KBQuery_GetTotalArticleCount",
  ["signature"] = "totalArticleHeaderCount  = KBQuery_GetTotalArticleCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "totalArticleHeaderCount",
      ["desc"] = "The total number of articles returned for the given query",
    },
  },
  ["desc"] = "Returns the total number of articles returned for the given query",
}
KBQuery_IsLoaded = {
  ["arguments"] = {
  },
  ["name"] = "KBQuery_IsLoaded",
  ["signature"] = "isLoaded = KBQuery_IsLoaded()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["note"] = "This return is false when initially logging in, but will turn true when the KNOWLEDGE_BASE_SETUP_LOAD_SUCCESS event fires.  This value will remain true until the client is completely closed.",
      ["name"] = "isLoaded",
      ["desc"] = "true is the previous knowledge base query was successful, otherwise false",
    },
  },
  ["desc"] = "Returns whether or not a knowledge base query was loaded successfully",
}
KBSetup_BeginLoading = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "numArticles",
      ["desc"] = "The number of articles displayed per page.  This is typically the constant KBASE_NUM_ARTICLES_PER_PAGE",
    },
    {
      ["type"] = "number",
      ["name"] = "currentPage",
      ["desc"] = "The page to display",
    },
  },
  ["name"] = "KBSetup_BeginLoading",
  ["signature"] = "KBSetup_BeginLoading(numArticles, page)",
  ["returns"] = {
  },
  ["desc"] = "Loads a maximum number of \"Top Issues\" from a given page",
}
KBSetup_GetArticleHeaderCount = {
  ["arguments"] = {
  },
  ["name"] = "KBSetup_GetArticleHeaderCount",
  ["signature"] = "articleHeaderCount = KBSetup_GetArticleHeaderCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "articleHeaderCount",
      ["desc"] = "The number of \"Top Issues\" articles on the current page",
    },
  },
  ["desc"] = "Returns the number of \"Top Issues\" articles on the current page",
}
KBSetup_GetArticleHeaderData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the article to query",
    },
  },
  ["name"] = "KBSetup_GetArticleHeaderData",
  ["signature"] = "articleId, title, isHotIssue, isRecentlyUpdated = KBSetup_GetArticleHeaderData(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "articleId",
      ["desc"] = "A unique articleId for the article",
    },
    {
      ["type"] = "string",
      ["name"] = "title",
      ["desc"] = "The title of the article",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isHotIssue",
      ["desc"] = "true if the article is a \"Hot Issue\", otherwise false",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isRecentlyUpdated",
      ["desc"] = "true if the article has been recently updated, otherwise false",
    },
  },
  ["desc"] = "Returns header information about a \"Top Issue\" article",
}
KBSetup_GetCategoryCount = {
  ["arguments"] = {
  },
  ["name"] = "KBSetup_GetCategoryCount",
  ["signature"] = "numCategories = KBSetup_GetCategoryCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numCategories",
      ["desc"] = "The number of available knowledge base categories",
    },
  },
  ["desc"] = "Returns the number of available knowledge base categories",
}
KBSetup_GetCategoryData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the category",
    },
  },
  ["name"] = "KBSetup_GetCategoryData",
  ["signature"] = "categoryId, name = KBSetup_GetCategoryData(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "categoryId",
      ["desc"] = "The unique identifier for the given category",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the category",
    },
  },
  ["desc"] = "Returns information about a knowledge base category",
}
KBSetup_GetLanguageCount = {
  ["arguments"] = {
  },
  ["name"] = "KBSetup_GetLanguageCount",
  ["signature"] = "numLanguages = KBSetup_GetLanguageCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numLanguages",
      ["desc"] = "The number of available knowledge base languages",
    },
  },
  ["desc"] = "Returns the number of available knowledge base languages",
}
KBSetup_GetLanguageData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the language to query",
    },
  },
  ["name"] = "KBSetup_GetLanguageData",
  ["signature"] = "languageId, name = KBSetup_GetLanguageData(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "languageId",
      ["desc"] = "",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the language",
    },
  },
  ["desc"] = "Returns information about a given knowledge base language",
}
KBSetup_GetSubCategoryCount = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the category",
    },
  },
  ["name"] = "KBSetup_GetSubCategoryCount",
  ["signature"] = "numSubCategories = KBSetup_GetSubCategoryCount(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numSubCategories",
      ["desc"] = "The number of available subcategories",
    },
  },
  ["desc"] = "Returns the number of available subcategories for a given category",
}
KBSetup_GetSubCategoryData = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the category",
    },
    {
      ["type"] = "number",
      ["name"] = "subindex",
      ["desc"] = "The index of the subcategory",
    },
  },
  ["name"] = "KBSetup_GetSubCategoryData",
  ["signature"] = "categoryId, name = KBSetup_GetSubCategoryData(index, subindex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "categoryId",
      ["desc"] = "The unique categoryId for the given subcategory",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the subcategory",
    },
  },
  ["desc"] = "Returns information a knowledge base subcategory",
}
KBSetup_GetTotalArticleCount = {
  ["arguments"] = {
  },
  ["name"] = "KBSetup_GetTotalArticleCount",
  ["signature"] = "numArticles = KBSetup_GetTotalArticleCount()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "numArticles",
      ["desc"] = "The total number of \"Top Issues\" articles",
    },
  },
  ["desc"] = "Returns the number of \"Top Issues\" articles",
}
KBSetup_IsLoaded = {
  ["arguments"] = {
  },
  ["name"] = "KBSetup_IsLoaded",
  ["signature"] = "isLoaded = KBSetup_IsLoaded()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isLoaded",
      ["desc"] = "This function returns true if the knowledge base setup has loaded successfully, otherwise it returns false.  This function has the following behavior:\
* On first login after opening the client, this function will return false until the knowledge base hass been opened, and the KNOWLEDGE_BASE_SETUP_LOAD_SUCCESS event has fired.\
* When reloading the UI or changing characters, the value will initially be true.  If the knowledge base UI is opened the value will be set to false on the UPDATE_GM_STATUS event and set to true again after KNOWLEDGE_BASE_SETUP_LOAD_SUCCESS",
    },
  },
  ["desc"] = "Returns whether or not the knowledge base setup has loaded successfully",
}
KBSystem_GetMOTD = {
  ["arguments"] = {
  },
  ["name"] = "KBSystem_GetMOTD",
  ["signature"] = "text = KBSystem_GetMOTD()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The message of the day for the knowledge base system",
    },
  },
  ["desc"] = "Returns the currently knowledgebase MOTD",
}
KBSystem_GetServerNotice = {
  ["arguments"] = {
  },
  ["name"] = "KBSystem_GetServerNotice",
  ["signature"] = "text = KBSystem_GetServerNotice()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text of the knowledgebase system server notice",
    },
  },
  ["desc"] = "Returns the text of the knowledgebase server system notice",
}
KBSystem_GetServerStatus = {
  ["arguments"] = {
  },
  ["name"] = "KBSystem_GetServerStatus",
  ["signature"] = "statusMessage = KBSystem_GetServerStatus()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "statusMessage",
      ["desc"] = "The knowledge base server status message, or nil",
    },
  },
  ["desc"] = "Returns the knowledge base server system status message",
}
KeyRingButtonIDToInvSlotID = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "buttonID",
      ["desc"] = "The index of the key in the keyring.  The top-left slot is 1, and proceed from left to right, top to bottom.",
    },
  },
  ["name"] = "KeyRingButtonIDToInvSlotID",
  ["signature"] = "inventoryID = KeyRingButtonIDToInvSlotID(buttonID)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "inventoryID",
      ["desc"] = "The inventoryID that corresponds to the given key ring slot",
    },
  },
  ["desc"] = "Converts a key ring slotID to an inventory slotID",
}
LFGQuery = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "typeID",
      ["desc"] = "The type of LFG Query.  This value can be obtained using GetLFGTypes()",
    },
    {
      ["type"] = "number",
      ["name"] = "lfgNdx",
      ["desc"] = "The index of a specific quest/dungeon.  Acceptable values can be obtained using GetLFGTypeEntries() with the type argument from above",
    },
    {
      ["name"] = "class",
      ["type"] = "number",
      ["values"] = {
        "All classes",
        "Warrior",
        "Paladin",
        "Hunter",
        "Rogue",
        "Priest",
        [8] = "Shaman",
        [10] = "Warlock",
        [9] = "Mage",
        [12] = "Druid",
      },
      ["desc"] = "A class filter to apply to the results",
    },
  },
  ["name"] = "LFGQuery",
  ["signature"] = "LFGQuery(typeID, lfgNdx [, class])",
  ["returns"] = {
  },
  ["desc"] = "Sends a looking for group request, optionally filtered by class",
}
LearnTalent = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tabIndex",
      ["desc"] = "The index of the talent tree.",
    },
    {
      ["type"] = "number",
      ["name"] = "talentIndex",
      ["desc"] = "The index of the talent.",
    },
  },
  ["name"] = "LearnTalent",
  ["signature"] = "LearnTalent(tabIndex, talentIndex)",
  ["returns"] = {
  },
  ["desc"] = "Learns the selected talent in the selected talent tree.",
}
LeaveBattlefield = {
  ["arguments"] = {
  },
  ["name"] = "LeaveBattlefield",
  ["signature"] = "LeaveBattlefield()",
  ["returns"] = {
  },
  ["desc"] = "Exits the current battleground",
}
LeaveChannelByName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The channel to leave",
    },
  },
  ["name"] = "LeaveChannelByName",
  ["signature"] = "LeaveChannelByName(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Leaves a channel by name",
}
LeaveParty = {
  ["arguments"] = {
  },
  ["name"] = "LeaveParty",
  ["signature"] = "LeaveParty()",
  ["returns"] = {
  },
  ["desc"] = "Call this function to leave the current party or raid",
}
ListChannelByName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["note"] = "City channels must be exact, such as \"General - Shattrath City\".",
      ["name"] = "channelName",
      ["desc"] = "The exact name of a channel to list",
    },
  },
  ["name"] = "ListChannelByName",
  ["signature"] = "ListChannelByName(\"channelName\")",
  ["returns"] = {
  },
  ["desc"] = "Prints the members of a channel to ChatFrame1.",
}
ListChannels = {
  ["arguments"] = {
  },
  ["name"] = "ListChannels",
  ["signature"] = "ListChannels()",
  ["returns"] = {
  },
  ["desc"] = "Prints a list of the channels to which the player currently belongs to DEFAULT_CHAT_FRAME",
}
LoadAddOn = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "AddOn index between 1 and GetNumAddOns().  Blizzard addons cannot be loaded by index.",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "Name of the add on to load. Not case-sensitive.  Uses teh addon folder name, not the titel from the TOC.",
        },
      },
    },
  },
  ["name"] = "LoadAddOn",
  ["signature"] = "loaded, reason = LoadAddOn(index or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "loaded",
      ["desc"] = "1 is the addon is loaded, nil otherwise",
    },
    {
      ["name"] = "reason",
      ["type"] = "string",
      ["values"] = {
        ["DEP_INCOMPATIBLE"] = "Dependency incompatible",
        ["INTERFACE_VERSION"] = "Out of Date",
        ["DEP_CORRUPT"] = "Dependency corrupt",
        ["MISSING"] = "Missing",
        ["DEP_INTERFACE_VERSION"] = "Dependcy out of date",
        ["DEP_DISABLED"] = "Dependency disabled",
        ["CORRUPT"] = "Corrupt",
        ["INCOMPATIBLE"] = "Incompatible",
        ["DEP_NOT_DEMAND_LOADED"] = "Dependency not loadable on demand",
        ["DISABLED"] = "Disabled",
        ["DEP_BANNED"] = "Dependency banned",
        ["DEP_INSECURE"] = "Dependency insecure",
        ["BANNED"] = "Banned",
        ["INSECURE"] = "Insecure",
        ["DEP_MISSING"] = "Dependency missing",
        ["NOT_DEMAND_LOADED"] = "Not loadable on demand",
      },
      ["desc"] = "Will contain the reason when an addon fails to load",
    },
  },
  ["desc"] = "Loads an AddOn manually if it is Load on Demand. Will also load the dependencies of an AdddOn.",
}
LoadBindings = {
  ["arguments"] = {
    {
      ["name"] = "set",
      ["type"] = "number",
      ["values"] = {
        "Account keybindings",
        "Character keybindings",
        [0] = "Default keybindings",
      },
      ["desc"] = "Which set of keybindings should be loaded",
    },
  },
  ["name"] = "LoadBindings",
  ["signature"] = "LoadBindings(set)",
  ["returns"] = {
  },
  ["desc"] = "Loads a set of keybindings",
}
LoggingChat = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "toggle",
      ["desc"] = "Toggle on or off, defaults to nil.",
    },
  },
  ["name"] = "LoggingChat",
  ["signature"] = "isLogging = LoggingChat([toggle])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLogging",
      ["desc"] = "Chat logging flag.",
    },
  },
  ["desc"] = "Toggle logging of chat to Logs/WowChatLog.txt. Toggle = true to turn on logging, Toggle = false to turn off logging, nil to query logging status.",
}
LoggingCombat = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "toggle",
      ["desc"] = "Toggle on or off, defaults to nil.",
    },
  },
  ["name"] = "LoggingCombat",
  ["signature"] = "isLogging = LoggingCombat([toggle])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isLogging",
      ["desc"] = "Chat logging flag.",
    },
  },
  ["desc"] = "Toggle combat logging to Logs/WoWCombatLog.txt. Toggle = true to turn on logging, Toggle = false to turn off logging, nil to query logging status.",
}
Logout = {
  ["arguments"] = {
  },
  ["name"] = "Logout",
  ["signature"] = "Logout()",
  ["returns"] = {
  },
  ["desc"] = "Logs out of the current character, taking your back to the character selection screen",
}
LootSlot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot to loot.",
    },
  },
  ["name"] = "LootSlot",
  ["signature"] = "LootSlot(slot)",
  ["returns"] = {
  },
  ["desc"] = "Attempt to loot the item in the specified slot.",
}
LootSlotIsCoin = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The loot slot index to query",
    },
  },
  ["name"] = "LootSlotIsCoin",
  ["signature"] = "isCoin = LootSlotIsCoin(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCoin",
      ["desc"] = "1 if the loot slot contains coins, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given loot slot contains coins",
}
LootSlotIsItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "A slot index in the current loot window",
    },
  },
  ["name"] = "LootSlotIsItem",
  ["signature"] = "isItem = LootSlotIsItem(slot)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isItem",
      ["desc"] = "1 if the loot slot contains an item, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given loot slot contains an item",
}
MakeMinigameMove = {
  ["arguments"] = {
  },
  ["name"] = "MakeMinigameMove",
  ["signature"] = "MakeMinigameMove(moveType, param)",
  ["returns"] = {
  },
  ["desc"] = "",
}
MouselookStart = {
  ["arguments"] = {
  },
  ["name"] = "MouselookStart",
  ["signature"] = "MouselookStart()",
  ["returns"] = {
  },
  ["desc"] = "Enables mouse-look mode, where cursor movement rotates the camera",
}
MouselookStop = {
  ["arguments"] = {
  },
  ["name"] = "MouselookStop",
  ["signature"] = "MouselookStop()",
  ["returns"] = {
  },
  ["desc"] = "Disables mouse-look mode, where cursor movement rotates the camera",
}
MoveAndSteerStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveAndSteerStart",
  ["signature"] = "MoveAndSteerStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveAndSteerStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveAndSteerStop",
  ["signature"] = "MoveAndSteerStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveBackwardStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveBackwardStart",
  ["signature"] = "MoveBackwardStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveBackwardStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveBackwardStop",
  ["signature"] = "MoveBackwardStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveForwardStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveForwardStart",
  ["signature"] = "MoveForwardStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveForwardStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveForwardStop",
  ["signature"] = "MoveForwardStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewDownStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewDownStart",
  ["signature"] = "MoveViewDownStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewDownStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewDownStop",
  ["signature"] = "MoveViewDownStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewInStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewInStart",
  ["signature"] = "MoveViewInStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewInStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewInStop",
  ["signature"] = "MoveViewInStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewLeftStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewLeftStart",
  ["signature"] = "MoveViewLeftStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewLeftStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewLeftStop",
  ["signature"] = "MoveViewLeftStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewOutStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewOutStart",
  ["signature"] = "MoveViewOutStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewOutStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewOutStop",
  ["signature"] = "MoveViewOutStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewRightStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewRightStart",
  ["signature"] = "MoveViewRightStart()",
  ["returns"] = {
  },
  ["desc"] = "Starts your camera orbiting around you to the right (counterclockwise).",
}
MoveViewRightStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewRightStop",
  ["signature"] = "MoveViewRightStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewUpStart = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewUpStart",
  ["signature"] = "MoveViewUpStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MoveViewUpStop = {
  ["arguments"] = {
  },
  ["name"] = "MoveViewUpStop",
  ["signature"] = "MoveViewUpStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
MovieRecording_Cancel = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_Cancel",
  ["signature"] = "MovieRecording_Cancel()",
  ["returns"] = {
  },
  ["desc"] = "Cancels a currently recording video",
}
MovieRecording_DataRate = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_DataRate",
  ["signature"] = "dataRate = MovieRecording_DataRate()",
  ["returns"] = {
  },
  ["desc"] = "Returns the data rate required per second for recording video.",
}
MovieRecording_DeleteMovie = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "filename",
      ["desc"] = "The full path to a movie's filename",
    },
  },
  ["name"] = "MovieRecording_DeleteMovie",
  ["signature"] = "MovieRecording_DeleteMovie(\"filename\")",
  ["returns"] = {
  },
  ["desc"] = "Deletes a movie currently pending compression",
}
MovieRecording_GetAspectRatio = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_GetAspectRatio",
  ["signature"] = "ratio = MovieRecording_GetAspectRatio()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "ratio",
      ["desc"] = "The aspect ratio of any resulting movie recordings.  This is calculated by dividing the height of the resulting video by the width.",
    },
  },
  ["desc"] = "Returns the aspect ratio used in any movie recordings",
}
MovieRecording_GetMovieFullPath = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_GetMovieFullPath",
  ["signature"] = "path = MovieRecording_GetMovieFullPath()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "path",
      ["desc"] = "Returns the path to the movie currently being recorded or compressed.  If the client isn't compressing or recording then it will either return the last file to have been recorded or compressed, or the empty string.",
    },
  },
  ["desc"] = "Returns the full path of the movie currently being recorded or compressed",
}
MovieRecording_GetProgress = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_GetProgress",
  ["signature"] = "recovering, progress  = MovieRecording_GetProgress()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "recovering",
      ["desc"] = "If a previous compression was interrupted (such as WoW being forcefully closed or crashing) this value will be true, indicating that recovery is being attempted on the file.",
    },
    {
      ["type"] = "number",
      ["name"] = "progress",
      ["desc"] = "The progress of the compression process, as a number between 0 and 1.  This number can be converted to a percentage using math.floor(progress * 100).",
    },
  },
  ["desc"] = "Returns information about the movie that is currently being compressed.",
}
MovieRecording_GetTime = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_GetTime",
  ["signature"] = "time = MovieRecording_GetTime()",
  ["returns"] = {
    {
      ["type"] = "string",
      ["note"] = "When logging into a fresh client, this may return a large value (such as 332274:33:11).  At any other time it appears to return the amount of time that has passed since the last video recording was started.  This is used by the default user interface to show the length of the recording when mousing over the minimap icon",
      ["name"] = "time",
      ["desc"] = "The amount of time since the last video recording operation was started, as a string HH:MM:SS",
    },
  },
  ["desc"] = "Returns the amount of time since the last video recording operation was started",
}
MovieRecording_GetViewportWidth = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_GetViewportWidth",
  ["signature"] = "width  = MovieRecording_GetViewportWidth()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "width",
      ["desc"] = "The current width of the World of Warcraft viewport",
    },
  },
  ["desc"] = "Queries the current width of the game's viewport",
}
MovieRecording_IsCodecSupported = {
  ["arguments"] = {
    {
      ["name"] = "codecName",
      ["type"] = "string",
      ["values"] = {
        "Motion JPEG",
        "H.264",
        "MPEG-4",
      },
      ["desc"] = "The name of a video compression codec",
    },
  },
  ["name"] = "MovieRecording_IsCodecSupported",
  ["signature"] = "isSupported = MovieRecording_IsCodecSupported(\"codecName\")",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isSupported",
      ["desc"] = "true if the codec is supported by the client, otherwise false",
    },
  },
  ["desc"] = "Returns whether or not a given video recording codec is supported by the client",
}
MovieRecording_IsCompressing = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_IsCompressing",
  ["signature"] = "isCompressing = MovieRecording_IsCompressing()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isCompressing",
      ["desc"] = "true if the client is currently compressing a recording, otherwise false",
    },
  },
  ["desc"] = "Returns whether or not the client is currently compressing a recording",
}
MovieRecording_IsRecording = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_IsRecording",
  ["signature"] = "isRecording = MovieRecording_IsRecording()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isRecording",
      ["desc"] = "1 if the client is currently recording, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the client is currently recording a movie",
}
MovieRecording_IsSupported = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_IsSupported",
  ["signature"] = "isSupported = MovieRecording_IsSupported()",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isSupported",
      ["desc"] = "true if the client supports video recording, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not movie recording is supported by client",
}
MovieRecording_MaxLength = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "width",
      ["desc"] = "The width in pixels of the video resolution",
    },
    {
      ["type"] = "number",
      ["name"] = "framerate",
      ["desc"] = "The framerate of the resulting video",
    },
    {
      ["type"] = "1nil",
      ["name"] = "capturesound",
      ["desc"] = "1 to capture sound, otherwise nil",
    },
  },
  ["name"] = "MovieRecording_MaxLength",
  ["signature"] = "time = MovieRecording_MaxLength(width, framerate, capturesound)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "time",
      ["desc"] = "The maximum length of a recorded video as a string (HH:MM:SS)",
    },
  },
  ["desc"] = "Returns the maximum length of a recorded video",
}
MovieRecording_QueueMovieToCompress = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "filename",
      ["desc"] = "The filename of a movie to add to the compression queue",
    },
  },
  ["name"] = "MovieRecording_QueueMovieToCompress",
  ["signature"] = "MovieRecording_QueueMovieToCompress(\"filename\")",
  ["returns"] = {
  },
  ["desc"] = "Adds a movie to the compression queue, starting immediate if the queue is empty",
}
MovieRecording_SearchUncompressedMovie = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "enable",
      ["desc"] = "true to enable searching for uncompressed movies, false to end the running search",
    },
  },
  ["name"] = "MovieRecording_SearchUncompressedMovie",
  ["signature"] = "MovieRecording_SearchUncompressedMovie(enable)",
  ["returns"] = {
  },
  ["desc"] = "Enables or disables a search for uncompressed movies",
}
MovieRecording_Toggle = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_Toggle",
  ["signature"] = "MovieRecording_Toggle()",
  ["returns"] = {
  },
  ["desc"] = "Begins recording a new video, or stops the currently recording video",
}
MovieRecording_ToggleGUI = {
  ["arguments"] = {
  },
  ["name"] = "MovieRecording_ToggleGUI",
  ["signature"] = "MovieRecording_ToggleGUI()",
  ["returns"] = {
  },
  ["desc"] = "Toggles recording of the user interface when recording a video.",
}
MusicPlayer_BackTrack = {
  ["arguments"] = {
  },
  ["name"] = "MusicPlayer_BackTrack",
  ["signature"] = "MusicPlayer_BackTrack()",
  ["returns"] = {
  },
  ["desc"] = "Goes back a track in iTunes",
}
MusicPlayer_NextTrack = {
  ["arguments"] = {
  },
  ["name"] = "MusicPlayer_NextTrack",
  ["signature"] = "MusicPlayer_NextTrack()",
  ["returns"] = {
  },
  ["desc"] = "Goes to the next track in iTunes.",
}
MusicPlayer_PlayPause = {
  ["arguments"] = {
  },
  ["name"] = "MusicPlayer_PlayPause",
  ["signature"] = "MusicPlayer_PlayPause()",
  ["returns"] = {
  },
  ["desc"] = "Plays or pauses playback in iTunes",
}
MusicPlayer_VolumeDown = {
  ["arguments"] = {
  },
  ["name"] = "MusicPlayer_VolumeDown",
  ["signature"] = "MusicPlayer_VolumeDown()",
  ["returns"] = {
  },
  ["desc"] = "Turns the volume down in iTunes",
}
MusicPlayer_VolumeUp = {
  ["arguments"] = {
  },
  ["name"] = "MusicPlayer_VolumeUp",
  ["signature"] = "MusicPlayer_VolumeUp()",
  ["returns"] = {
  },
  ["desc"] = "Turns the volume up in iTunes",
}
NewGMTicket = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "number",
      ["values"] = {
        "Game Play",
        "Harassment",
        "Stuck",
        "Bug",
      },
      ["desc"] = "The type of ticket that should be opened",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text to be sent in the ticket",
    },
  },
  ["name"] = "NewGMTicket",
  ["signature"] = "NewGMTicket(type, \"text\")",
  ["returns"] = {
  },
  ["desc"] = "Opens a new GM support ticket",
}
NextView = {
  ["arguments"] = {
  },
  ["name"] = "NextView",
  ["signature"] = "NextView()",
  ["returns"] = {
  },
  ["desc"] = "Change the camera view to the next predefined camera angle.",
}
NoPlayTime = {
  ["arguments"] = {
  },
  ["name"] = "NoPlayTime",
  ["signature"] = "hasNoTime = NoPlayTime()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasNoTime",
      ["desc"] = "1 if the player is out of playtime, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player is out of playtime",
}
NotWhileDeadError = {
  ["arguments"] = {
  },
  ["name"] = "NotWhileDeadError",
  ["signature"] = "NotWhileDeadError()",
  ["returns"] = {
  },
  ["desc"] = "Fires a \"UI_ERROR_MESSAGE\" event, with the argument ERR_PLAYER_DEAD",
}
NotifyInspect = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to inspect",
    },
  },
  ["name"] = "NotifyInspect",
  ["signature"] = "NotifyInspect(unit)",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for an inspected unit's talent information",
}
NumTaxiNodes = {
  ["arguments"] = {
  },
  ["name"] = "NumTaxiNodes",
  ["signature"] = "num_nodes = NumTaxiNodes()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "num_nodes",
      ["desc"] = "Number of nodes.",
    },
  },
  ["desc"] = "Returns the current number of taxi nodes defined.",
}
OfferPetition = {
  ["arguments"] = {
  },
  ["name"] = "OfferPetition",
  ["signature"] = "OfferPetition()",
  ["returns"] = {
  },
  ["desc"] = "Requests a signature from the targeted player",
}
OffhandHasWeapon = {
  ["arguments"] = {
  },
  ["name"] = "OffhandHasWeapon",
  ["signature"] = "hasWeapon = OffhandHasWeapon()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasWeapon",
      ["desc"] = "1 if the player has a weapon equipped in the offhand, nil otherwise",
    },
  },
  ["desc"] = "Determines whether the player has a weapon in the offhand slot",
}
OpenTrainer = {
  ["arguments"] = {
  },
  ["name"] = "OpenTrainer",
  ["signature"] = "OpenTrainer()",
  ["returns"] = {
  },
  ["desc"] = "Closes the trainer window if it is open, otherwise appears to do nothing",
}
OpeningCinematic = {
  ["arguments"] = {
  },
  ["name"] = "OpeningCinematic",
  ["signature"] = "OpeningCinematic()",
  ["returns"] = {
  },
  ["desc"] = "Displays the player's race's opening cinematic.",
}
PartialPlayTime = {
  ["arguments"] = {
  },
  ["name"] = "PartialPlayTime",
  ["signature"] = "partialPlayTime = PartialPlayTime()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "partialPlayTime",
      ["desc"] = "1 if the character gains only partial xp, nil if not.",
    },
  },
  ["desc"] = "Returns whether the character gains partial xp or not.",
}
PetAbandon = {
  ["arguments"] = {
  },
  ["name"] = "PetAbandon",
  ["signature"] = "PetAbandon()",
  ["returns"] = {
  },
  ["desc"] = "Releases the players current pet back into freedom.",
}
PetAggressiveMode = {
  ["arguments"] = {
  },
  ["name"] = "PetAggressiveMode",
  ["signature"] = "PetAggressiveMode()",
  ["returns"] = {
  },
  ["desc"] = "Sets your pet to agressive mode.",
}
PetAttack = {
  ["arguments"] = {
  },
  ["name"] = "PetAttack",
  ["signature"] = "PetAttack()",
  ["returns"] = {
  },
  ["desc"] = "Instructs your pet to attack your current target. Requires a keypress",
}
PetCanBeAbandoned = {
  ["arguments"] = {
  },
  ["name"] = "PetCanBeAbandoned",
  ["signature"] = "canAbandon = PetCanBeAbandoned()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canAbandon",
      ["desc"] = "1 if the player's pet can be abandoned, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player's pet can be abandoned",
}
PetCanBeRenamed = {
  ["arguments"] = {
  },
  ["name"] = "PetCanBeRenamed",
  ["signature"] = "canRename = PetCanBeRenamed()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canRename",
      ["desc"] = "1 if the player can rename the currently controlled pet, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the currently controlled pet can be renamed",
}
PetDefensiveMode = {
  ["arguments"] = {
  },
  ["name"] = "PetDefensiveMode",
  ["signature"] = "PetDefensiveMode()",
  ["returns"] = {
  },
  ["desc"] = "Sets the pet into defensive mode, only attacking when the player or itself is attacked",
}
PetDismiss = {
  ["arguments"] = {
  },
  ["name"] = "PetDismiss",
  ["signature"] = "PetDismiss()",
  ["returns"] = {
  },
  ["desc"] = "Dismisses the currently controlled pet",
}
PetFollow = {
  ["arguments"] = {
  },
  ["name"] = "PetFollow",
  ["signature"] = "PetFollow()",
  ["returns"] = {
  },
  ["desc"] = "Sets the pet into \"Follow\" mode",
}
PetHasActionBar = {
  ["arguments"] = {
  },
  ["name"] = "PetHasActionBar",
  ["signature"] = "hasActionBar = PetHasActionBar()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasActionBar",
      ["desc"] = "Returns 1 if the player's current pet has an action bar, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player's current pet has an action bar",
}
PetPassiveMode = {
  ["arguments"] = {
  },
  ["name"] = "PetPassiveMode",
  ["signature"] = "PetPassiveMode()",
  ["returns"] = {
  },
  ["desc"] = "Sets the pet into passive mode",
}
PetRename = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name to give the pet",
    },
  },
  ["name"] = "PetRename",
  ["signature"] = "PetRename(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Renames the currently controlled pet",
}
PetStopAttack = {
  ["arguments"] = {
  },
  ["name"] = "PetStopAttack",
  ["signature"] = "PetStopAttack()",
  ["returns"] = {
  },
  ["desc"] = "Stops your pet auto-attacking.",
}
PetWait = {
  ["arguments"] = {
  },
  ["name"] = "PetWait",
  ["signature"] = "PetWait()",
  ["returns"] = {
  },
  ["desc"] = "Orders the player's pet into \"Stay\" mode.",
}
PickupAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An actionbar slot",
    },
  },
  ["name"] = "PickupAction",
  ["signature"] = "PickupAction(slot)",
  ["returns"] = {
  },
  ["desc"] = "Picks up an action bar slot and holds it on the cursor",
}
PickupBagFromSlot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "inventoryID",
      ["desc"] = "The inventoryID of a bag slot",
    },
  },
  ["name"] = "PickupBagFromSlot",
  ["signature"] = "PickupBagFromSlot(inventoryID)",
  ["returns"] = {
  },
  ["desc"] = "Picks up a bag from an inventory slot, or bank bag slot and holds it on the cursor",
}
PickupContainerItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the container that holds the item to be picked up",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot that contains the item to be picked up",
    },
  },
  ["name"] = "PickupContainerItem",
  ["signature"] = "PickupContainerItem(index, slot)",
  ["returns"] = {
  },
  ["desc"] = "Picks up an item from a container and holds it on the cursor",
}
PickupGuildBankItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The guild bank tab",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot in the given guild bank tab",
    },
  },
  ["name"] = "PickupGuildBankItem",
  ["signature"] = "PickupGuildBankItem(tab, slot)",
  ["returns"] = {
  },
  ["desc"] = "Picks up an item from the guild bank and holds it on the cursor",
}
PickupGuildBankMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The amount of money to pick up, in copper",
    },
  },
  ["name"] = "PickupGuildBankMoney",
  ["signature"] = "PickupGuildBankMoney(amount)",
  ["returns"] = {
  },
  ["desc"] = "Withdraws money from the guild bank, placing it on the cursor",
}
PickupInventoryItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The id of an inventory slot",
    },
  },
  ["name"] = "PickupInventoryItem",
  ["signature"] = "PickupInventoryItem(id)",
  ["returns"] = {
  },
  ["desc"] = "Picks an inventory item up and holds it on the cursor",
}
PickupItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of an item",
        },
        {
          ["type"] = "number",
          ["name"] = "itemId",
          ["desc"] = "The itemId of an item",
        },
      },
    },
  },
  ["name"] = "PickupItem",
  ["signature"] = "PickupItem(\"name\" or itemId)",
  ["returns"] = {
  },
  ["desc"] = "Picks up an item by name or id and holds it on the cursor",
}
PickupMacro = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "macroId",
          ["desc"] = "The macroId of the macro to pick up",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a macro",
        },
      },
    },
  },
  ["name"] = "PickupMacro",
  ["signature"] = "PickupMacro(macroId or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Simulates picking up a macro from the macro window, placing it on the cursor",
}
PickupMerchantItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The merchant item slot",
    },
  },
  ["name"] = "PickupMerchantItem",
  ["signature"] = "PickupMerchantItem(slot)",
  ["returns"] = {
  },
  ["desc"] = "Picks up an item from the merchant window, holding it on the cursor",
}
PickupPetAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of the pet action on the pet's actionbar",
    },
  },
  ["name"] = "PickupPetAction",
  ["signature"] = "PickupPetAction(slot)",
  ["returns"] = {
  },
  ["desc"] = "Picks up the pet action in the given slot and places it under the cursor.",
}
PickupPlayerMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The amount of money to pick up, in copper",
    },
  },
  ["name"] = "PickupPlayerMoney",
  ["signature"] = "PickupPlayerMoney(amount)",
  ["returns"] = {
  },
  ["desc"] = "Picks up money from the player's inventory and holds it on the cursor",
}
PickupSpell = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "id",
      ["desc"] = "The numeric ID of a spell in the spellbook.",
    },
    {
      ["name"] = "bookType",
      ["type"] = "string",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook, either \"spell\" or \"pet\".",
    },
  },
  ["name"] = "PickupSpell",
  ["signature"] = "PickupSpell(id, \"bookType\")",
  ["returns"] = {
  },
  ["desc"] = "Picks up a spell from the spellbook, placing it on the cursor",
}
PickupStablePet = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        "The first stabled pet",
        "The second stabled pet",
        [0] = "The current pet",
      },
      ["desc"] = "The index of the pet",
    },
  },
  ["name"] = "PickupStablePet",
  ["signature"] = "PickupStablePet(index)",
  ["returns"] = {
  },
  ["desc"] = "Picks up a stabled pet, and holds it on the cursor",
}
PickupTradeMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The amount of money to take from the trade window.",
    },
  },
  ["name"] = "PickupTradeMoney",
  ["signature"] = "PickupTradeMoney(amount)",
  ["returns"] = {
  },
  ["desc"] = "",
}
PitchDownStart = {
  ["arguments"] = {
  },
  ["name"] = "PitchDownStart",
  ["signature"] = "PitchDownStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
PitchDownStop = {
  ["arguments"] = {
  },
  ["name"] = "PitchDownStop",
  ["signature"] = "PitchDownStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
PitchUpStart = {
  ["arguments"] = {
  },
  ["name"] = "PitchUpStart",
  ["signature"] = "PitchUpStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
PitchUpStop = {
  ["arguments"] = {
  },
  ["name"] = "PitchUpStop",
  ["signature"] = "PitchUpStop()",
  ["returns"] = {
  },
  ["desc"] = "Stops pitching the camera after PitchUpStart() has been called.",
}
PlaceAction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "Places the action held on the cursor in a specific action bar slot",
    },
  },
  ["name"] = "PlaceAction",
  ["signature"] = "PlaceAction(slot)",
  ["returns"] = {
  },
  ["desc"] = "Places the action held on the cursor in a specified action bar slot",
}
PlaceAuctionBid = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["list"] = "Auctions in the main auction house listing",
        ["bidder"] = "Auctions the player has already bid on",
      },
      ["desc"] = "The auction listing type",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the auction in the listing",
    },
    {
      ["type"] = "number",
      ["name"] = "bid",
      ["desc"] = "The bid amount, in copper",
    },
  },
  ["name"] = "PlaceAuctionBid",
  ["signature"] = "PlaceAuctionBid(\"type\", index, bid)",
  ["returns"] = {
  },
  ["desc"] = "Places a bid on an auction item",
}
PlayMusic = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "musicfile",
      ["desc"] = "The path to a music file.  This can be a path in the MPQ files, or a file located within an addon directory.",
    },
  },
  ["name"] = "PlayMusic",
  ["signature"] = "PlayMusic(\"musicfile\")",
  ["returns"] = {
  },
  ["desc"] = "Plays a music file",
}
PlaySound = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "sound",
      ["desc"] = "The sound file to play.",
    },
  },
  ["name"] = "PlaySound",
  ["signature"] = "PlaySound(\"sound\")",
  ["returns"] = {
  },
  ["desc"] = "Plays a sound file. You have to specify the relative path from the WoW main directory.",
}
PlaySoundFile = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "soundFile",
      ["desc"] = "A path to the sound file to be played",
    },
  },
  ["name"] = "PlaySoundFile",
  ["signature"] = "PlaySoundFile(\"soundfile\")",
  ["returns"] = {
  },
  ["desc"] = "Plays a specified sound file.",
}
PlayerHasSpells = {
  ["arguments"] = {
  },
  ["name"] = "PlayerHasSpells",
  ["signature"] = "hasSpells = PlayerHasSpells()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasSpells",
      ["desc"] = "Returns 1 if the player has any spells, nil otherwise.",
    },
  },
  ["desc"] = "Returns whether the player has any spells.  Effectively always returns 1 for all characters.",
}
PositionMiniWorldMapArrowFrame = {
  ["arguments"] = {
  },
  ["name"] = "PositionMiniWorldMapArrowFrame",
  ["signature"] = "PositionMiniWorldMapArrowFrame(\"point\" \"frame\" [, relativePoint] [, offsetX, offsetY])",
  ["returns"] = {
  },
  ["desc"] = "",
}
PositionWorldMapArrowFrame = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "point",
      ["desc"] = "The anchor point on the WorldMapArrowFrame",
    },
    {
      ["type"] = "string",
      ["name"] = "frame",
      ["desc"] = "The frame that WorldMapArrowFrame should be anchored relative to",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "relativePoint",
      ["desc"] = "The anchor point on the relative frame",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "offsetX",
      ["desc"] = "The horizontal offset from the given anchor position, in pixels",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "offsetY",
      ["desc"] = "The vertical offset from the given anchor position, in pixels",
    },
  },
  ["name"] = "PositionWorldMapArrowFrame",
  ["signature"] = "PositionWorldMapArrowFrame(\"point\", \"frame\" [, relativePoint] [, offsetX, offsetY])",
  ["returns"] = {
  },
  ["desc"] = "",
}
PrevView = {
  ["arguments"] = {
  },
  ["name"] = "PrevView",
  ["signature"] = "PrevView()",
  ["returns"] = {
  },
  ["desc"] = "Change the camera view to the previous predefined camera angle.",
}
ProcessMapClick = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "x",
      ["desc"] = "The x coordinate of the click, as a number between 0 and 1",
    },
    {
      ["type"] = "number",
      ["name"] = "y",
      ["desc"] = "The y coordinate of the click, as a number between 0 and 1",
    },
  },
  ["name"] = "ProcessMapClick",
  ["signature"] = "ProcessMapClick(x, y)",
  ["returns"] = {
  },
  ["desc"] = "Possibly changes the WorldMap based on a mouse click",
}
PromoteToAssistant = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to promote",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to promote",
        },
      },
    },
    {
      ["type"] = "1nil",
      ["name"] = "exact",
      ["desc"] = "When using the name argument, a value of 1 will force an exact match",
    },
  },
  ["name"] = "PromoteToAssistant",
  ["signature"] = "PromoteToAssistant(\"unit\" or \"name\" [, exact])",
  ["returns"] = {
  },
  ["desc"] = "Promotes a player or unit to raid assistant",
}
PromoteToLeader = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to promote",
    },
  },
  ["name"] = "PromoteToLeader",
  ["signature"] = "PromoteToLeader(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Promotes a player to party/raid leader",
}
PurchaseSlot = {
  ["arguments"] = {
  },
  ["name"] = "PurchaseSlot",
  ["signature"] = "PurchaseSlot()",
  ["returns"] = {
  },
  ["desc"] = "Purchases a bank slot without confirmation.",
}
PutItemInBackpack = {
  ["arguments"] = {
  },
  ["name"] = "PutItemInBackpack",
  ["signature"] = "PutItemInBackpack()",
  ["returns"] = {
  },
  ["desc"] = "Puts the currently held item into the first open slot in the player's backpack.",
}
PutItemInBag = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "bagId",
      ["desc"] = "The id of the target bag.",
    },
  },
  ["name"] = "PutItemInBag",
  ["signature"] = "hadItem = PutItemInBag(bagId)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hadItem",
      ["desc"] = "1 if the cursor had a item, nil otherwise.",
    },
  },
  ["desc"] = "Attempts to place a item under the cursor inside the specified bag.",
}
QueryAuctionItems = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "name",
      ["desc"] = "The name you want to search for. This is a substring match, not an exact one.",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "minLevel",
      ["desc"] = "The minimum item use level you want returned",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "maxLevel",
      ["desc"] = "The maximum item use level you want returned",
    },
    {
      ["type"] = "number",
      ["name"] = "invTypeIndex",
      ["optional"] = true,
      ["values"] = {
        "INVTYPE_HEAD",
        "INVTYPE_NECK",
        "INVTYPE_SHOULDER",
        "INVTYPE_BODY",
        "INVTYPE_CHEST",
        "INVTYPE_WAIST",
        "INVTYPE_LEGS",
        "INVTYPE_FEET",
        "INVTYPE_WRIST",
        "INVTYPE_HAND",
        "INVTYPE_FINGER",
        "INVTYPE_TRINKET",
        "INVTYPE_WEAPON",
        "INVTYPE_SHIELD",
        "INVTYPE_RANGEDRIGHT",
        "INVTYPE_CLOAK",
        "INVTYPE_2HWEAPON",
        "INVTYPE_BAG",
        "INVTYPE_TABARD",
        "INVTYPE_ROBE",
        "INVTYPE_WEAPONMAINHAND",
        "INVTYPE_WEAPONOFFHAND",
        "INVTYPE_HOLDABLE",
        "INVTYPE_AMMO",
        "INVTYPE_THROWN",
        "INVTYPE_RANGED",
      },
      ["desc"] = "The inventory type you want to search for, this must be specified as an index according to the following table. The INVTYPE_* tokens are taken from the return values of GetItemInfo().",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "classIndex",
      ["desc"] = "The auction item class index as returned by the GetAuctionItemClasses() function.",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "subclassIndex",
      ["desc"] = "The auction item class index as returned by the GetAuctionItemSubClasses() function.",
    },
    {
      ["type"] = "number",
      ["optional"] = true,
      ["name"] = "page",
      ["desc"] = "The page of possibilities that you want returned. For example, if the query would return 1000 items, and you want items 300 to 350, then you would ask for page number 7.",
    },
    {
      ["type"] = "boolean",
      ["optional"] = true,
      ["name"] = "isUsable",
      ["desc"] = "True is the you only want items that you can use returned, false otherwise. use is defined as at or below your current character's level for items and at or below your current character's skill for recipies and schematics.",
    },
    {
      ["type"] = "number",
      ["name"] = "qualityIndex",
      ["optional"] = true,
      ["values"] = {
        "Commmon",
        "Uncommon",
        "Rare",
        "Epic",
        "Legendary",
        "Artifact",
        [0] = "Poor",
      },
      ["desc"] = "The quality of the items you want returned.",
    },
    {
      ["type"] = "boolean",
      ["optional"] = true,
      ["name"] = "getAll",
      ["desc"] = "True if you want all of the pages retuned at one, false otherwise. This option can only be used once every 15 minutes.",
    },
  },
  ["name"] = "QueryAuctionItems",
  ["signature"] = "QueryAuctionItems([name[, minLevel[, maxLevel[, invTypeIndex[, classIndex[, subclassIndex[, page[, isUsable[, qualityIndex[, getAll]]]]]]]]]])",
  ["returns"] = {
  },
  ["desc"] = "Queries the auction house's listings for the attributes specified",
}
QueryGuildBankLog = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of a guild tab",
    },
  },
  ["name"] = "QueryGuildBankLog",
  ["signature"] = "QueryGuildBankLog(tab)",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for a guild bank log for a specific tab",
}
QueryGuildBankTab = {
  ["arguments"] = {
    {
      ["type"] = "num",
      ["name"] = "tab",
      ["desc"] = "Guild bank tab to query.  Between 1 and GetNumGuildBankTabs().",
    },
  },
  ["name"] = "QueryGuildBankTab",
  ["signature"] = "QueryGuildBankTab(tab)",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for the contents of the specified guildbank tab.",
}
QueryGuildBankText = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "Guild bank tab to query.  Between 1 and GetNumGuildBankTabs().",
    },
  },
  ["name"] = "QueryGuildBankText",
  ["signature"] = "QueryGuildBankText(tab)",
  ["desc"] = "Queries the server for the info text of the specified guild bank tab",
}
QueryGuildEventLog = {
  ["arguments"] = {
  },
  ["name"] = "QueryGuildEventLog",
  ["signature"] = "QueryGuildEventLog()",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for the guild event log.",
}
QuestChooseRewardError = {
  ["arguments"] = {
  },
  ["name"] = "QuestChooseRewardError",
  ["signature"] = "QuestChooseRewardError()",
  ["returns"] = {
  },
  ["desc"] = "Triggers the client's error when the player hasn't chosen a quest reward from the available choices",
}
QuestLogPushQuest = {
  ["arguments"] = {
  },
  ["name"] = "QuestLogPushQuest",
  ["signature"] = "QuestLogPushQuest()",
  ["returns"] = {
  },
  ["desc"] = "Shares the currently selected quest with the other party members.",
}
Quit = {
  ["arguments"] = {
  },
  ["name"] = "Quit",
  ["signature"] = "Quit()",
  ["returns"] = {
  },
  ["desc"] = "Quits the game normally.",
}
RandomRoll = {
  ["arguments"] = {
    {
      ["type"] = "number,string",
      ["name"] = "min",
      ["desc"] = "The minimum amount to roll",
    },
    {
      ["type"] = "number,string",
      ["name"] = "max",
      ["desc"] = "The maximum amount to roll",
    },
  },
  ["name"] = "RandomRoll",
  ["signature"] = "RandomRoll(min, max)",
  ["returns"] = {
  },
  ["desc"] = "Rolls a random number between min and max",
}
ReadFile = {
  ["arguments"] = {
  },
  ["name"] = "ReadFile",
  ["signature"] = "ReadFile",
  ["returns"] = {
  },
  ["desc"] = "",
}
RegisterCVar = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of a CVar to register",
    },
    {
      ["type"] = "string",
      ["name"] = "default",
      ["desc"] = "The default value of the CVar",
    },
  },
  ["name"] = "RegisterCVar",
  ["signature"] = "RegisterCVar(\"cvar\" [, default])",
  ["returns"] = {
  },
  ["desc"] = "Registers a configuration variable to be saved",
}
RegisterForSave = {
  ["arguments"] = {
  },
  ["name"] = "RegisterForSave",
  ["signature"] = "RegisterForSave(\"variable\")",
  ["returns"] = {
  },
  ["desc"] = "Registers a variable to be saved between sessions",
}
RegisterForSavePerCharacter = {
  ["arguments"] = {
  },
  ["name"] = "RegisterForSavePerCharacter",
  ["signature"] = "RegisterForSavePerCharacter(\"variable\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
ReloadUI = {
  ["arguments"] = {
  },
  ["name"] = "ReloadUI",
  ["signature"] = "ReloadUI()",
  ["returns"] = {
  },
  ["desc"] = "Reloads the user interface",
}
RemoveChatWindowChannel = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat frame",
    },
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel to remove",
    },
  },
  ["name"] = "RemoveChatWindowChannel",
  ["signature"] = "RemoveChatWindowChannel(index, \"channel\")",
  ["returns"] = {
  },
  ["desc"] = "Removes a chat chanel from the given ",
}
RemoveChatWindowMessages = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat frame (1-7)",
    },
    {
      ["type"] = "string",
      ["name"] = "messageGroup",
      ["desc"] = "The identifying string for the given message group",
    },
  },
  ["name"] = "RemoveChatWindowMessages",
  ["signature"] = "RemoveChatWindowMessages(index, \"messageGroup\")",
  ["returns"] = {
  },
  ["desc"] = "Hides a group of messages from a chat frame",
}
RemoveFriend = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a friend to remove",
        },
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "The index of an entry in the friends list",
        },
      },
    },
  },
  ["name"] = "RemoveFriend",
  ["signature"] = "RemoveFriend([\"name\"] or [index])",
  ["returns"] = {
  },
  ["desc"] = "Removes a friend from your friend's list",
}
RemoveQuestWatch = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "questIndex",
      ["desc"] = "The index of a quest in the quest log",
    },
  },
  ["name"] = "RemoveQuestWatch",
  ["signature"] = "RemoveQuestWatch(questIndex)",
  ["returns"] = {
  },
  ["desc"] = "Stops tracking objectives for a quest in the quest log",
}
RemoveSkillUp = {
  ["arguments"] = {
  },
  ["name"] = "RemoveSkillUp",
  ["signature"] = "RemoveSkillUp(index)",
  ["returns"] = {
  },
  ["desc"] = "",
}
RenamePetition = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The new name for the petition",
    },
  },
  ["name"] = "RenamePetition",
  ["signature"] = "RenamePetition(\"name\")",
  ["returns"] = {
  },
  ["desc"] = "Renames the open petition",
}
RepairAllItems = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "useGuildMoney",
      ["desc"] = "1 to try and use guild bank money to repair, nil to use your own money",
    },
  },
  ["name"] = "RepairAllItems",
  ["signature"] = "RepairAllItems(useGuildMoney)",
  ["returns"] = {
  },
  ["desc"] = "Attempts to repair all items.  Requires the player to be at a merchant that repairs.  Passing 1 to the function will attempt to make use of guild bank money for repairs.",
}
ReplaceEnchant = {
  ["arguments"] = {
  },
  ["name"] = "ReplaceEnchant",
  ["signature"] = "ReplaceEnchant()",
  ["returns"] = {
  },
  ["desc"] = "Confirms replacing an existing enchant",
}
ReplaceTradeEnchant = {
  ["arguments"] = {
  },
  ["name"] = "ReplaceTradeEnchant",
  ["signature"] = "ReplaceTradeEnchant()",
  ["returns"] = {
  },
  ["desc"] = "Confirms the replacement of an existing enchant being applied in the trade window",
}
RepopMe = {
  ["arguments"] = {
  },
  ["name"] = "RepopMe",
  ["signature"] = "RepopMe()",
  ["returns"] = {
  },
  ["desc"] = "Will release your spirit and send you to the graveyard when dead.",
}
ReportBug = {
  ["arguments"] = {
  },
  ["name"] = "ReportBug",
  ["signature"] = "ReportBug(\"description\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
ReportPlayerIsPVPAFK = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to report",
        },
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to report",
        },
      },
    },
  },
  ["name"] = "ReportPlayerIsPVPAFK",
  ["signature"] = "ReportPlayerIsPVPAFK(\"name\" or \"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Reports a player or unit as AFK in a PVP battleground",
}
ReportSuggestion = {
  ["arguments"] = {
  },
  ["name"] = "ReportSuggestion",
  ["signature"] = "ReportSuggestion(\"description\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
RequestBattlefieldPositions = {
  ["arguments"] = {
  },
  ["name"] = "RequestBattlefieldPositions",
  ["signature"] = "RequestBattlefieldPositions()",
  ["returns"] = {
  },
  ["desc"] = "Requests new battlefield position information from the server",
}
RequestBattlefieldScoreData = {
  ["arguments"] = {
  },
  ["name"] = "RequestBattlefieldScoreData",
  ["signature"] = "RequestBattlefieldScoreData()",
  ["returns"] = {
  },
  ["desc"] = "Requests the latest battlefield score from the server. The score is not directly returned by the function call, it'll dispatch the UPDATE_BATTLEFIELD_SCORE event instead.",
}
RequestInspectHonorData = {
  ["arguments"] = {
  },
  ["name"] = "RequestInspectHonorData",
  ["signature"] = "RequestInspectHonorData()",
  ["returns"] = {
  },
  ["desc"] = "Requests honor data for the currently inspected target",
}
RequestRaidInfo = {
  ["arguments"] = {
  },
  ["name"] = "RequestRaidInfo",
  ["signature"] = "RequestRaidInfo()",
  ["returns"] = {
  },
  ["desc"] = "Requests raid information from the server",
}
RequestTimePlayed = {
  ["arguments"] = {
  },
  ["name"] = "RequestTimePlayed",
  ["signature"] = "RequestTimePlayed()",
  ["returns"] = {
  },
  ["desc"] = "Queries the server for the amount of time played on the given character",
}
ResetCPUUsage = {
  ["arguments"] = {
  },
  ["name"] = "ResetCPUUsage",
  ["signature"] = "ResetCPUUsage()",
  ["returns"] = {
  },
  ["desc"] = "Reset the current CPU usage statistics",
}
ResetChatColors = {
  ["arguments"] = {
  },
  ["name"] = "ResetChatColors",
  ["signature"] = "ResetChatColors()",
  ["returns"] = {
  },
  ["desc"] = "Resets the colors of the chat channels back to default.",
}
ResetChatWindows = {
  ["arguments"] = {
  },
  ["name"] = "ResetChatWindows",
  ["signature"] = "ResetChatWindows()",
  ["returns"] = {
  },
  ["desc"] = "Resets the chat windows to hardcoded defaults",
}
ResetCursor = {
  ["arguments"] = {
  },
  ["name"] = "ResetCursor",
  ["signature"] = "ResetCursor()",
  ["returns"] = {
  },
  ["desc"] = "Resets the mouse cursor to the default glove pointer",
}
ResetDisabledAddOns = {
  ["arguments"] = {
  },
  ["name"] = "ResetDisabledAddOns",
  ["signature"] = "ResetDisabledAddOns()",
  ["returns"] = {
  },
  ["desc"] = "Resets the enabled status of addons before the change is committed via a reload",
}
ResetInstances = {
  ["arguments"] = {
  },
  ["name"] = "ResetInstances",
  ["signature"] = "ResetInstances()",
  ["returns"] = {
  },
  ["desc"] = "Resets all non-saved instances",
}
ResetPerformanceValues = {
  ["arguments"] = {
  },
  ["name"] = "ResetPerformanceValues",
  ["signature"] = "ResetPerformanceValues()",
  ["returns"] = {
  },
  ["desc"] = "",
}
ResetTutorials = {
  ["arguments"] = {
  },
  ["name"] = "ResetTutorials",
  ["signature"] = "ResetTutorials()",
  ["returns"] = {
  },
  ["desc"] = "Resets tutorials from the beginning",
}
ResetView = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "viewModeIndex",
      ["desc"] = "view mode index to reset to default. (2-5)",
    },
  },
  ["name"] = "ResetView",
  ["signature"] = "ResetView(viewModeIndex)",
  ["returns"] = {
  },
  ["desc"] = "Resets the given viewmode and switches to that viewmode.",
}
RestartGx = {
  ["arguments"] = {
  },
  ["name"] = "RestartGx",
  ["signature"] = "RestartGx()",
  ["returns"] = {
  },
  ["desc"] = "Restart the client's graphic subsystem",
}
ResurrectHasSickness = {
  ["arguments"] = {
  },
  ["name"] = "ResurrectHasSickness",
  ["signature"] = "hasSickness = ResurrectHasSickness()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasSickness",
      ["desc"] = "1 if resurrecting at the spirit healer will give you resurrection sickness, nil otherwise.",
    },
  },
  ["desc"] = "Determines if using a spirit healer to resurrect will give you resurrection sickness.",
}
ResurrectHasTimer = {
  ["arguments"] = {
  },
  ["name"] = "ResurrectHasTimer",
  ["signature"] = "hasTimer = ResurrectHasTimer()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasTimer",
      ["desc"] = "1 if the player must wait to accept the pending resurrection spell, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the player must wait to accept the pending resurrection spell",
}
RetrieveCorpse = {
  ["arguments"] = {
  },
  ["name"] = "RetrieveCorpse",
  ["signature"] = "RetrieveCorpse()",
  ["returns"] = {
  },
  ["desc"] = "Confirms ressurection by returning to the player's corpse",
}
ReturnInboxItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Inbox item to return to sender.",
    },
  },
  ["name"] = "ReturnInboxItem",
  ["signature"] = "ReturnInboxItem(index)",
  ["returns"] = {
  },
  ["desc"] = "Returns the given inbox item to its sender.",
}
RollOnLoot = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "lootIndex",
      ["desc"] = "The index of the loot to roll on",
    },
    {
      ["name"] = "rollType",
      ["type"] = "number",
      ["values"] = {
        "Roll a 'need' roll",
        "Roll a 'greed' roll",
        [0] = "Pass on the given loot",
      },
      ["desc"] = "The roll action to perform",
    },
  },
  ["name"] = "RollOnLoot",
  ["signature"] = "RollOnLoot(lootIndex, rollType)",
  ["returns"] = {
  },
  ["desc"] = "Perform a type of roll (pass/need/greed) on a given loot",
}
RunBinding = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "COMMAND",
      ["desc"] = "The keybinding command or action to run",
    },
  },
  ["name"] = "RunBinding",
  ["signature"] = "RunBinding(\"COMMAND\")",
  ["returns"] = {
  },
  ["desc"] = "Runs a keybinding by name",
}
RunMacro = {
  ["arguments"] = {
  },
  ["name"] = "RunMacro",
  ["signature"] = "RunMacro(macro, \"button\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
RunMacroText = {
  ["arguments"] = {
  },
  ["name"] = "RunMacroText",
  ["signature"] = "RunMacroText(\"text\" [, \"button\"])",
  ["returns"] = {
  },
  ["desc"] = "",
}
RunScript = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "script",
      ["desc"] = "A Lua script to be run",
    },
  },
  ["name"] = "RunScript",
  ["signature"] = "RunScript(\"script\")",
  ["returns"] = {
  },
  ["desc"] = "Runs a string as a Lua script",
}
SaveBindings = {
  ["arguments"] = {
    {
      ["name"] = "set",
      ["type"] = "number",
      ["values"] = {
        "Account keybindings",
        "Character keybindings",
      },
      ["desc"] = "Which keybindings set the current settings should be saved to.",
    },
  },
  ["name"] = "SaveBindings",
  ["signature"] = "SaveBindings(set)",
  ["returns"] = {
  },
  ["desc"] = "Saves the current keybindings set to disk",
}
SaveGuildRoster = {
  ["arguments"] = {
  },
  ["name"] = "SaveGuildRoster",
  ["signature"] = "SaveGuildRoster()",
  ["returns"] = {
  },
  ["desc"] = "Saves the guild roster GuildRoster.txt in the Logs folder.",
}
SaveView = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "A camera index between 1 and 6",
    },
  },
  ["name"] = "SaveView",
  ["signature"] = "SaveView(index)",
  ["returns"] = {
  },
  ["desc"] = "Saves the current camera view to one of the stored camera positions",
}
Screenshot = {
  ["arguments"] = {
  },
  ["name"] = "Screenshot",
  ["signature"] = "Screenshot()",
  ["returns"] = {
  },
  ["desc"] = "Takes a screenshot, displaying a message when done",
}
SecureCmdOptionParse = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cmd",
      ["desc"] = "A command to be parsed (typically the body of a macro, macrotext attribute or slash command",
    },
  },
  ["name"] = "SecureCmdOptionParse",
  ["signature"] = "action, target = SecureCmdOptionParse(\"cmd\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "action",
      ["desc"] = "The action to take",
    },
    {
      ["type"] = "string",
      ["name"] = "target",
      ["desc"] = "The target to use for the given action, or nil",
    },
  },
  ["desc"] = "Parses a secure command (macro, slash command) into an action and possible target",
}
SelectActiveQuest = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a quest in the QuestFrame",
    },
  },
  ["name"] = "SelectActiveQuest",
  ["signature"] = "SelectActiveQuest(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects an active quest in the QuestLog frame",
}
SelectAvailableQuest = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the available quest in the QuestFrame",
    },
  },
  ["name"] = "SelectAvailableQuest",
  ["signature"] = "SelectAvailableQuest(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects an available quest from the given NPC",
}
SelectGossipActiveQuest = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an active quest in the gossip dialog",
    },
  },
  ["name"] = "SelectGossipActiveQuest",
  ["signature"] = "SelectGossipActiveQuest(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects an active quest in the gossip dialog",
}
SelectGossipAvailableQuest = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the quest on the gossip frame.",
    },
  },
  ["name"] = "SelectGossipAvailableQuest",
  ["signature"] = "SelectGossipAvailableQuest(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects the specified quest on the gossip frame for further processing.",
}
SelectGossipOption = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The option in the NPC gossip window to select, from 1 to GetNumGossipOptions()",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "text",
      ["desc"] = "The text of the string to send on confirmation.",
    },
    {
      ["type"] = "boolean",
      ["optional"] = true,
      ["name"] = "confirm",
      ["desc"] = "true to confirm, false or nil to not confirm",
    },
  },
  ["name"] = "SelectGossipOption",
  ["signature"] = "SelectGossipOption(index [, text, confirm])",
  ["returns"] = {
  },
  ["desc"] = "Selects an option in the NPC dialog (gossip) window",
}
SelectPackage = {
  ["arguments"] = {
  },
  ["name"] = "SelectPackage",
  ["signature"] = "SelectPackage(index)",
  ["returns"] = {
  },
  ["desc"] = "Not yet implemented",
}
SelectQuestLogEntry = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the quest to select.",
    },
  },
  ["name"] = "SelectQuestLogEntry",
  ["signature"] = "SelectQuestLogEntry(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects a quest from the quest log as the currently active quest to be shown in the details panel.",
}
SelectStationery = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the stationery to select for usage.",
    },
  },
  ["name"] = "SelectStationery",
  ["signature"] = "SelectStationery(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects a given stationery for usage when sending mail",
}
SelectTradeSkill = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a tradeskill in the tradeskill window",
    },
  },
  ["name"] = "SelectTradeSkill",
  ["signature"] = "SelectTradeSkill(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently selected tradeskill item",
}
SelectTrainerService = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The trainer service index to select",
    },
  },
  ["name"] = "SelectTrainerService",
  ["signature"] = "SelectTrainerService(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects the given trainer service in the class trainer frame",
}
SendAddonMessage = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "prefix",
      ["desc"] = "An arbitrary label for the message",
    },
    {
      ["type"] = "string",
      ["name"] = "message",
      ["desc"] = "The message to send",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "type",
      ["desc"] = "The type of message to send (guild, party, whisper, etc.)",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "target",
      ["desc"] = "The target of a whisper addon message",
    },
  },
  ["name"] = "SendAddonMessage",
  ["signature"] = "SendAddonMessage(\"prefix\", \"message\", [, \"type\" [, \"target\"]])",
  ["returns"] = {
  },
  ["desc"] = "Sends a chat-like message to players that will not show up in their chat windows by default",
}
SendChatMessage = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The message to be sent, maximum of 255 characters",
    },
    {
      ["type"] = "string",
      ["name"] = "type",
      ["values"] = {
        ["DND"] = "Not a real channel. Will set your DND message. Set an empty message to clear status.",
        ["GUILD"] = "Messages to guild members (/g)",
        ["EMOTE"] = "Text emotes to nearby players (/em)",
        ["OFFICER"] = "Messages to guild officers (/o)",
        ["PARTY"] = "Messages to party members (/p)",
        ["WHISPER"] = "Message to a specific player (/whisper) Player name provided as channel",
        ["YELL"] = "Yell to not so nearby players (/yell)",
        ["RAID"] = "Messages to raid members (/raid)",
        ["BATTLEGROUND"] = "Messages to a battleground raid group (/bg)",
        ["RAID_WARNING"] = "Warning to raid members (/rw)",
        ["SAY"] = "Speech to nearby players (/say)",
        ["CHANNEL"] = "Message to a specific chat channel (/1,/2...) Channel number provided as channel",
        ["AFK"] = "Not a real channel. Will set your AFK message. Set an empty message to clear status.",
      },
      ["optional"] = true,
      ["desc"] = "The type of chat message to be sent. Defaults to SAY",
    },
    {
      ["type"] = "string",
      ["name"] = "language",
      ["values"] = {
        ["DARNASSIAN"] = "Night Elf Language",
        ["TITAN"] = "Giant language",
        ["KALIMAG"] = "Elemental language",
        ["ORCISH"] = "Horde and Orc Language",
        ["DWARVEN"] = "Dwarf Language",
        ["TAURAHE"] = "Tauren Language",
        ["COMMON"] = "Alliance and Human language",
        ["DEMONIC"] = "Demon language",
        ["DRACONIC"] = "Dragon language",
        ["DRAENEI"] = "Draenei Language",
        ["GUTTERSPEAK"] = "Undead language",
        ["TROLL"] = "Troll language",
        ["GNOMISH"] = "Gnome language",
      },
      ["optional"] = true,
      ["desc"] = "The language to send the message in. Defaults to the common language for the faction (Common, for Alliance, Orcish for Horde)",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "channel",
      ["desc"] = "The channel or player receiving the message for CHANNEL/WHISPER type communications. If sending to a channel, you must use the number. This field is required for CHANNEL/WHISPER type chats, and ignored for others",
    },
  },
  ["name"] = "SendChatMessage",
  ["signature"] = "SendChatMessage(\"text\" [,\"chatType\" [,\"language\" ] [,\"channel\"]])",
  ["returns"] = {
  },
  ["desc"] = "Sends a chat message",
}
SendMail = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "target",
      ["desc"] = "The destinatination of the mail",
    },
    {
      ["type"] = "string",
      ["name"] = "subject",
      ["desc"] = "The subject of the mail",
    },
    {
      ["type"] = "string",
      ["name"] = "body",
      ["desc"] = "The body of the mail",
    },
  },
  ["name"] = "SendMail",
  ["signature"] = "SendMail(\"dest\", \"subject\", \"body\")",
  ["returns"] = {
  },
  ["desc"] = "Sends mail to a player",
}
SendWho = {
  ["arguments"] = {
    {
      ["name"] = "filter",
      ["type"] = "string",
      ["values"] = {
        ["Race"] = "Add r-\"racename\" to the filter",
        ["Name"] = "Add n-\"charactername\" to the filter",
        ["Zone"] = "Add z-\"zonename\" to the filter",
        ["Class"] = "Add c-\"classname\" to the filter",
        ["Guild"] = "Add g-\"guildname\" to the filter",
        ["Level"] = "Add either a specific level, or a level range to the filter",
      },
      ["desc"] = "A filter for the who results.  A filter can be any combination of the possible values, but can only have one filter of each type, per request.  A blank filter (the empty string) can be submitted, but a filter argument must be supplied.",
    },
  },
  ["name"] = "SendWho",
  ["signature"] = "SendWho(\"filter\")",
  ["returns"] = {
  },
  ["desc"] = "Sends a who request to the server",
}
SetAbandonQuest = {
  ["arguments"] = {
  },
  ["name"] = "SetAbandonQuest",
  ["signature"] = "SetAbandonQuest()",
  ["returns"] = {
  },
  ["desc"] = "Marks the currently selected quest to be abandoned.",
}
SetActionBarToggles = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "SHOW_MULTI_ACTIONBAR_1",
      ["desc"] = "1 to show the bottom left ActionBar, nil otherwise",
    },
    {
      ["type"] = "1nil",
      ["name"] = "SHOW_MULTI_ACTIONBAR_2",
      ["desc"] = "1 to show the bottom right ActionBar, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "SHOW_MULTI_ACTIONBAR_3",
      ["desc"] = "1 to show the right ActionBar, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "SHOW_MULTI_ACTIONBAR_4",
      ["desc"] = "1 to show the second right ActionBar, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["name"] = "ALWAYS_SHOW_MULTIBARS",
      ["desc"] = "1 to always show the ActionBars, otherwise nil",
    },
  },
  ["name"] = "SetActionBarToggles",
  ["signature"] = "SetActionBarToggles(SHOW_MULTI_ACTIONBAR_1, SHOW_MULTI_ACTIONBAR_2, SHOW_MULTI_ACTIONBAR_3, SHOW_MULTI_ACTIONBAR_4, ALWAYS_SHOW_MULTIBARS)",
  ["returns"] = {
  },
  ["desc"] = "Configures the display of the additional ActionBars.",
}
SetActiveVoiceChannel = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the channel in the channel display window.  These indices are offset by any headers that are displayed in this window.",
    },
  },
  ["name"] = "SetActiveVoiceChannel",
  ["signature"] = "SetActiveVoiceChannel(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently active voice channel",
}
SetActiveVoiceChannelBySessionID = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "session",
      ["desc"] = "The sessionID of the voice chat channel.  This can be obtained by enumerating GetVoiceSessionInfo().",
    },
  },
  ["name"] = "SetActiveVoiceChannelBySessionID",
  ["signature"] = "SetActiveVoiceChannelBySessionID(session)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently active voice chat channel",
}
SetArenaTeamRosterSelection = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "team",
      ["desc"] = "The index of the arena team",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the player to select",
    },
  },
  ["name"] = "SetArenaTeamRosterSelection",
  ["signature"] = "SetArenaTeamRosterSelection(team, index)",
  ["returns"] = {
  },
  ["desc"] = "Selects a specific member from an arena team roster",
}
SetArenaTeamRosterShowOffline = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "enable",
      ["desc"] = "Any true value other than 0 will enable showing offline members, 0, false or nil will disable.",
    },
  },
  ["name"] = "SetArenaTeamRosterShowOffline",
  ["signature"] = "SetArenaTeamRosterShowOffline(enable)",
  ["returns"] = {
  },
  ["desc"] = "Enables or disables the showing of offline arena team members",
}
SetBagPortraitTexture = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "texture",
      ["desc"] = "The texture object to change",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The bag slot used for the generated texture",
    },
  },
  ["name"] = "SetBagPortraitTexture",
  ["signature"] = "SetBagPortraitTexture(texture, slot)",
  ["returns"] = {
  },
  ["desc"] = "Sets a texture to a circular rendering of the specified bag's icon",
}
SetBaseMip = {
  ["arguments"] = {
    {
      ["name"] = "value",
      ["type"] = "number",
      ["values"] = {
        "High texture resolution",
        [0] = "Low texture resolution",
      },
      ["desc"] = "The desired level of texture resolution rendered by the client",
    },
  },
  ["name"] = "SetBaseMip",
  ["signature"] = "SetBaseMip(value)",
  ["returns"] = {
  },
  ["desc"] = "Sets the level of texture resolution rendered by the client",
}
SetBattlefieldScoreFaction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "faction",
      ["desc"] = "The faction to select.",
    },
  },
  ["name"] = "SetBattlefieldScoreFaction",
  ["signature"] = "SetBattlefieldScoreFaction(faction)",
  ["returns"] = {
  },
  ["desc"] = "Sets the faction of the battlefield scoreboard.",
}
SetBinding = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "key",
      ["note"] = "Valid modifiers are SHIFT, CTRL, ALT",
      ["examples"] = {
        ["Y"] = "The \"Y\" key on the keyboard",
        ["ALT-CTRL-BUTTON3"] = "Mouse button 3, with either Alt key, and the Left Control key held down",
        ["SHIFT-ALT-Y"] = "The \"Y\" key, when the Left Shift key and either Alt key are held down",
        ["BUTTON3"] = "Mouse button 3 (if applicable)",
      },
      ["desc"] = "The name of a key or button to be bound.",
    },
    {
      ["type"] = "string",
      ["name"] = "command",
      ["optional"] = true,
      ["examples"] = {
        ["STRAFERIGHT"] = "Strafe to the right",
        ["FOLLOWTARGET"] = "Start following the current target",
      },
      ["desc"] = "The command to be bound to the given key.  If not specified, the key binding will be unbound.",
    },
  },
  ["name"] = "SetBinding",
  ["signature"] = "success = SetBinding(\"key\"[, \"command\"])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "success",
      ["desc"] = "1 if the key binding (or unbinding) was successful, otherwise nil",
    },
  },
  ["desc"] = "Sets a key combination to a given binding.",
}
SetBindingClick = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "KEY",
      ["desc"] = "The key combination to bind",
    },
    {
      ["type"] = "string",
      ["name"] = "buttonName",
      ["desc"] = "The Button object to which to bind the key combination to",
    },
    {
      ["optional"] = true,
      ["type"] = "string",
      ["name"] = "mouseButton",
      ["desc"] = "The mousebutton to use as a trigger",
    },
  },
  ["name"] = "SetBindingClick",
  ["signature"] = "SetBindingClick(\"KEY\", \"buttonName\"[, \"mouseButton\"])",
  ["returns"] = {
  },
  ["desc"] = "Set a key binding directly to a Button object",
}
SetBindingItem = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "singleKey",
          ["desc"] = "The name of the key you want to bind to an item. Such as \"M\", \"-\"or \"9\"",
        },
        {
          ["type"] = "string",
          ["name"] = "keyCombination",
          ["desc"] = "The name of the key you want to bind to an item. Such as \"CTRL-P\", \"ALT-SHIFT-#\"or \"ALT-CTRL-SHIFT-1\". Note that for multiple modifiers, the order that they are accepted is a strict one, it will only work if ALT is before CTRL is before SHIFT, any other order will result in the function returning success, but the binding being broken.",
        },
      },
    },
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "itemName",
          ["desc"] = "The name of the item you want to bind to a key.",
        },
        {
          ["type"] = "string",
          ["name"] = "itemLink",
          ["desc"] = "The full link of the item you want to bind to a key.",
        },
        {
          ["type"] = "string",
          ["name"] = "partialItemName",
          ["desc"] = "A partial name of the item you want to bind to a key. Note \"Hearth\" will work if you want to invoke your Hearthstone, but \"stone\" will not work for the same item. Also note that if the partial name that you specify matches several items in your inventory, the first one that appears in your bags will be the one that gets activated.",
        },
      },
    },
  },
  ["name"] = "SetBindingItem",
  ["signature"] = "success = SetBindingItem(\"singleKey\" or \"keyCombination\", \"itemName\" or \"itemLink\" or \"partialItemName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "success",
      ["desc"] = "1 if the binding was successful, otherwise nil.",
    },
  },
  ["desc"] = "This funcion will bind a specific key to a specific item. Hitting that key after calling this function will cause the item to be used or activated.",
}
SetBindingMacro = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "KEY",
      ["desc"] = "A key or key combination with modifiers to trigger the macro",
    },
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "macroName",
          ["desc"] = "The name of the macro. If Macros are named the same, it will return the first.",
        },
        {
          ["type"] = "number",
          ["name"] = "macroID",
          ["desc"] = "The MacroID of the macro required. 1-18 are the account wide ones, and 19-32 are character specific",
        },
      },
    },
  },
  ["name"] = "SetBindingMacro",
  ["signature"] = "SetBindingMacro(\"KEY\", \"macroname\"|macroid)",
  ["returns"] = {
  },
  ["desc"] = "Assign a keybinding to a specific macro",
}
SetBindingSpell = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "KEY",
      ["desc"] = "The key combination to bind the spell to",
    },
    {
      ["type"] = "string",
      ["name"] = "spellname",
      ["desc"] = "The name of a spell to bind",
    },
  },
  ["name"] = "SetBindingSpell",
  ["signature"] = "SetBindingSpell(\"KEY\", \"spellname\")",
  ["returns"] = {
  },
  ["desc"] = "Binds a spell directly to a key combination",
}
SetCVar = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "cvar",
      ["desc"] = "The name of the CVar to set",
    },
    {
      ["type"] = "any",
      ["name"] = "value",
      ["desc"] = "The value for the CVar",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "raiseEvent",
      ["desc"] = "If set, this causes the CVAR_UPDATE event to be fired with this as its first argument (note that numbers work too)",
    },
  },
  ["name"] = "SetCVar",
  ["signature"] = "SetCVar(\"cvar\", \"value\" [, raiseEvent])",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of a configuration variable in config.wtf",
}
SetChannelOwner = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "The name of the channel",
    },
    {
      ["type"] = "string",
      ["name"] = "newowner",
      ["desc"] = "The name of the player to give ownership",
    },
  },
  ["name"] = "SetChannelOwner",
  ["signature"] = "SetChannelOwner(\"channel\", \"newowner\")",
  ["returns"] = {
  },
  ["desc"] = "Gives channel ownership to another player.",
}
SetChannelPassword = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the channel to change",
    },
    {
      ["type"] = "string",
      ["name"] = "password",
      ["desc"] = "The password to set on the channel",
    },
  },
  ["name"] = "SetChannelPassword",
  ["signature"] = "SetChannelPassword(\"name\", \"password\")",
  ["returns"] = {
  },
  ["desc"] = "Sets a password on a custom chat channel",
}
SetChannelWatch = {
  ["arguments"] = {
  },
  ["name"] = "SetChannelWatch",
  ["signature"] = "SetChannelWatch(\"channel\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
SetChatWindowAlpha = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat window to modify",
    },
    {
      ["type"] = "number",
      ["name"] = "alpha",
      ["desc"] = "The alpha value for the window (0.0 - 1.0)",
    },
  },
  ["name"] = "SetChatWindowAlpha",
  ["signature"] = "SetChatWindowAlpha(index, alpha)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of the chat window alpha in chat-cache.txt",
}
SetChatWindowColor = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat frame",
    },
    {
      ["type"] = "number",
      ["name"] = "r",
      ["desc"] = "The red value of the color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "g",
      ["desc"] = "The green value of the color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "b",
      ["desc"] = "The blue value of the color (0.0 - 1.0)",
    },
  },
  ["name"] = "SetChatWindowColor",
  ["signature"] = "SetChatWindowColor(index, r, g, b)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of the chat window color in chat-cache.txt",
}
SetChatWindowDocked = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat window to modify",
    },
    {
      ["type"] = "1nil",
      ["name"] = "docked",
      ["desc"] = "1 if the chat frame is docked with the main frame, otherwise nil",
    },
  },
  ["name"] = "SetChatWindowDocked",
  ["signature"] = "SetChatWindowDocked(index, docked)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of the docked setting for the given chat window in chat-cache.txt",
}
SetChatWindowLocked = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat window",
    },
    {
      ["type"] = "1nil",
      ["name"] = "locked",
      ["desc"] = "1 to lock the window, nil to unlock",
    },
  },
  ["name"] = "SetChatWindowLocked",
  ["signature"] = "SetChatWindowLocked(index, locked)",
  ["returns"] = {
  },
  ["desc"] = "Locks a chat window, so it can't be dragged or resized.",
}
SetChatWindowName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a chat window",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name to give the chat window",
    },
  },
  ["name"] = "SetChatWindowName",
  ["signature"] = "SetChatWindowName(index, \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Set the name for a chat window in chat-cache.txt",
}
SetChatWindowShown = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat window",
    },
    {
      ["type"] = "1nil",
      ["name"] = "shown",
      ["desc"] = "1 to show the window, nil to hide",
    },
  },
  ["name"] = "SetChatWindowShown",
  ["signature"] = "SetChatWindowShown(index, shown)",
  ["returns"] = {
  },
  ["desc"] = "Sets if a chat window is shown in chat-cache.txt",
}
SetChatWindowSize = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the chat window to modify",
    },
    {
      ["type"] = "number",
      ["name"] = "size",
      ["desc"] = "The font size for the chat window",
    },
  },
  ["name"] = "SetChatWindowSize",
  ["signature"] = "SetChatWindowSize(index, size)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of the chat window's font size in chat-cache.txt",
}
SetConsoleKey = {
  ["arguments"] = {
  },
  ["name"] = "SetConsoleKey",
  ["signature"] = "SetConsoleKey",
  ["returns"] = {
  },
  ["desc"] = "",
}
SetCurrentGuildBankTab = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The guild bank tab index",
    },
  },
  ["name"] = "SetCurrentGuildBankTab",
  ["signature"] = "SetCurrentGuildBankTab(tab)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently selected guild bank tab",
}
SetCurrentTitle = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "titleMaskID",
      ["desc"] = "Sets your players title to the given id.  titleMaskID should be between 1 and GetNumTitles() or -1 to clear.",
    },
  },
  ["name"] = "SetCurrentTitle",
  ["signature"] = "SetCurrentTitle(titleMaskID)",
  ["returns"] = {
  },
  ["desc"] = "Sets the players title.",
}
SetCursor = {
  ["arguments"] = {
    {
      ["name"] = "cursor",
      ["type"] = "string",
      ["values"] = {
        "ATTACK_CURSOR",
        "ATTACK_ERROR_CURSOR",
        "BUY_CURSOR",
        "BUY_ERROR_CURSOR",
        "CAST_CURSOR",
        "CAST_ERROR_CURSOR",
        "GATHER_CURSOR",
        "GATHER_ERROR_CURSOR",
        "INNKEEPER_CURSOR",
        "INNKEEPER_ERROR_CURSOR",
        "INSPECT_CURSOR",
        "INSPECT_ERROR_CURSOR",
        "INTERACT_CURSOR",
        "INTERACT_ERROR_CURSOR",
        "ITEM_CURSOR",
        "ITEM_ERROR_CURSOR",
        "LOCK_CURSOR",
        "LOCK_ERROR_CURSOR",
        "LOOT_ALL_CURSOR",
        "LOOT_ALL_ERROR_CURSOR",
        "MAIL_CURSOR",
        "MAIL_ERROR_CURSOR",
        "MINE_CURSOR",
        "MINE_ERROR_CURSOR",
        "PICKUP_CURSOR",
        "PICKUP_ERROR_CURSOR",
        "POINT_CURSOR",
        "POINT_ERROR_CURSOR",
        "QUEST_CURSOR",
        "QUEST_ERROR_CURSOR",
        "REPAIRNPC_CURSOR",
        "REPAIRNPC_ERROR_CURSOR",
        "REPAIR_CURSOR",
        "REPAIR_ERROR_CURSOR",
        "SKIN_ALLIANCE_CURSOR",
        "SKIN_ALLIANCE_ERROR_CURSOR",
        "SKIN_CURSOR",
        "SKIN_ERROR_CURSOR",
        "SKIN_HORDE_CURSOR",
        "SKIN_HORDE_ERROR_CURSOR",
        "SPEAK_CURSOR",
        "SPEAK_ERROR_CURSOR",
        "TAXI_CURSOR",
        "TAXI_ERROR_CURSOR",
        "TRAINER_CURSOR",
        "TRAINER_ERROR_CURSOR",
      },
      ["desc"] = "A cursor token listed below, the path to a 32x23 blp cursor image, or nil.  If nil is specified, any set cursor will be cleared.",
    },
  },
  ["name"] = "SetCursor",
  ["signature"] = "SetCursor(\"cursor\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the cursor image.",
}
SetDungeonDifficulty = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "difficulty",
      ["note"] = "The Epic setting won't allow you to enter any dungeons, but will print a message to your chatframe.  In addition when the Epic setting is selected, the instance portal will not appear (there is no graphic to correspond with it).  Walking through the invisible portal will give you the message \"Epic difficulty is not available for DungeonName\".",
      ["values"] = {
        "Normal",
        "Heroic",
        "Epic",
      },
      ["desc"] = "The level of difficulty",
    },
  },
  ["name"] = "SetDungeonDifficulty",
  ["signature"] = "SetDungeonDifficulty(difficulty)",
  ["returns"] = {
  },
  ["desc"] = "Sets the dungeon difficulty mode",
}
SetEuropeanNumbers = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "enable",
      ["desc"] = "true to enable european numbers, otherwise nil",
    },
  },
  ["name"] = "SetEuropeanNumbers",
  ["signature"] = "SetEuropeanNumbers(enable)",
  ["returns"] = {
  },
  ["desc"] = "Enables using comma as the decimal separator",
}
SetFactionActive = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index the faction to set as active",
    },
  },
  ["name"] = "SetFactionActive",
  ["signature"] = "SetFactionActive(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets a faction as the active faction",
}
SetFactionInactive = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the faction in the faction list (including headers).",
    },
  },
  ["name"] = "SetFactionInactive",
  ["signature"] = "SetFactionInactive(index)",
  ["returns"] = {
  },
  ["desc"] = "Flags a faction as inactive",
}
SetFarclip = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The value of the \"Terrain Distance\" slider in the Video Options",
    },
  },
  ["name"] = "SetFarclip",
  ["signature"] = "SetFarclip(value)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of the \"Terrain Distance\" slider in the Video Options",
}
SetFriendNotes = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "index",
          ["desc"] = "Numerical friend index (from 1 to GetNumFriends())",
        },
        {
          ["type"] = "string",
          ["name"] = "\"name\"",
          ["desc"] = "Name of friend to modify",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "\"note\"",
      ["desc"] = "The note to set",
    },
  },
  ["name"] = "SetFriendNotes",
  ["signature"] = "SetFriendNotes(index or \"name\", \"note\")",
  ["desc"] = "Sets a note on a member of your friends list",
}
SetGamma = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The gamma value to set",
    },
  },
  ["name"] = "SetGamma",
  ["signature"] = "SetGamma(value)",
  ["returns"] = {
  },
  ["desc"] = "Sets the Gamma value for the video system",
}
SetGuildBankTabInfo = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of a guild bank tab",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name for the tab",
    },
    {
      ["type"] = "number",
      ["name"] = "iconIndex",
      ["desc"] = "The index of the icon to display.  This should be a number between 1 and GetNumMacroItemIcons()",
    },
  },
  ["name"] = "SetGuildBankTabInfo",
  ["signature"] = "SetGuildBankTabInfo(tab, \"name\", iconIndex)",
  ["returns"] = {
  },
  ["desc"] = "Sets the name and icon for a guild bank tab",
}
SetGuildBankTabPermissions = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of a guild bank tab",
    },
    {
      ["name"] = "permission",
      ["type"] = "number",
      ["values"] = {
        "View tab",
        "Deposit items",
      },
      ["desc"] = "The index of the permission to enable/disable",
    },
    {
      ["type"] = "1nil",
      ["name"] = "enabled",
      ["desc"] = "1 to enable the permission, otherwise nil",
    },
  },
  ["name"] = "SetGuildBankTabPermissions",
  ["signature"] = "SetGuildBankTabPermissions(tab, permission, enabled)",
  ["returns"] = {
  },
  ["desc"] = "Enables or disabled a specific guild bank tab permission",
}
SetGuildBankTabWithdraw = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of a guild tab",
    },
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The number of withdrawls allowed for the current guild rank, on the given tab",
    },
  },
  ["name"] = "SetGuildBankTabWithdraw",
  ["signature"] = "SetGuildBankTabWithdraw(tab, amount)",
  ["returns"] = {
  },
  ["desc"] = "Sets the number of withdrawls allowed for the currently selected guild rank, on the given guild bank tab",
}
SetGuildBankText = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "Guild bank tab to query.  Between 1 and GetNumGuildBankTabs().",
    },
    {
      ["type"] = "string",
      ["name"] = "\"text\"",
      ["desc"] = "The text to set",
    },
  },
  ["name"] = "SetGuildBankText",
  ["signature"] = "SetGuildBankText(tab, \"text\")",
  ["desc"] = "Sets the info page text on the given guild bank tab",
}
SetGuildBankWithdrawLimit = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The amount of items that can be withdrawn per day",
    },
  },
  ["name"] = "SetGuildBankWithdrawLimit",
  ["signature"] = "SetGuildBankWithdrawLimit(amount)",
  ["returns"] = {
  },
  ["desc"] = "Sets the amount of withdrawals allowed for the selected guild rank",
}
SetGuildInfoText = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The guild information text to be set",
    },
  },
  ["name"] = "SetGuildInfoText",
  ["signature"] = "SetGuildInfoText(\"text\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the guild information text.",
}
SetGuildRosterSelection = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index in the guild roster",
    },
  },
  ["name"] = "SetGuildRosterSelection",
  ["signature"] = "SetGuildRosterSelection(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the selection in the guild roster",
}
SetGuildRosterShowOffline = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "showOffline",
      ["desc"] = "The value to set for the \"Show Offline\" guild setting",
    },
  },
  ["name"] = "SetGuildRosterShowOffline",
  ["signature"] = "SetGuildRosterShowOffline(showOffline)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value for the \"Show Offline\" guild setting",
}
SetInventoryPortraitTexture = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "texture",
      ["desc"] = "The texture to be changed",
    },
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit whose inventory should be queried",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The inventory slotId to query",
    },
  },
  ["name"] = "SetInventoryPortraitTexture",
  ["signature"] = "SetInventoryPortraitTexture(texture, unit, slot)",
  ["returns"] = {
  },
  ["desc"] = "Sets a portrait texture using an inventory item",
}
SetLFGAutojoin = {
  ["arguments"] = {
  },
  ["name"] = "SetLFGAutojoin",
  ["signature"] = "SetLFGAutojoin()",
  ["returns"] = {
  },
  ["desc"] = "Enables auto-join in the LFG system",
}
SetLFGComment = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "comment",
      ["desc"] = "A comment to be shown with your listing in the LFG system",
    },
  },
  ["name"] = "SetLFGComment",
  ["signature"] = "SetLFGComment(\"comment\")",
  ["returns"] = {
  },
  ["desc"] = "Adds a comment to your listing in the LFG system",
}
SetLFGType = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot to select (1-3)",
    },
    {
      ["type"] = "number",
      ["name"] = "type",
      ["desc"] = "The type of LFG query to select.  Valid options can be obtained by indexing the reuslts of GetLFGTypes()",
    },
  },
  ["name"] = "SetLFGType",
  ["signature"] = "SetLFGType(slot, type)",
  ["returns"] = {
  },
  ["desc"] = "Sets a filter for the LFG system in a specific slot",
}
SetLFMAutofill = {
  ["arguments"] = {
  },
  ["name"] = "SetLFMAutofill",
  ["signature"] = "SetLFMAutofill()",
  ["returns"] = {
  },
  ["desc"] = "Turns on the auto-fill option in the Looking For More interface",
}
SetLFMType = {
  ["arguments"] = {
    {
      ["name"] = "id",
      ["type"] = "number",
      ["values"] = {
        "Dungeon",
        "Raid",
        "Quest (Group)",
        "Zone",
        "Heroic Dungeon",
      },
      ["desc"] = "The type of LFM request to query",
    },
  },
  ["name"] = "SetLFMType",
  ["signature"] = "SetLFMType(id)",
  ["returns"] = {
  },
  ["desc"] = "Sets the type of the current LFM request",
}
SetLayoutMode = {
  ["arguments"] = {
  },
  ["name"] = "SetLayoutMode",
  ["signature"] = "SetLayoutMode()",
  ["returns"] = {
  },
  ["desc"] = "",
}
SetLookingForGroup = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of a slot in the LFG tab of the Looking For Group system.  There are three slots available, so this value should be a number 1 - 3.",
    },
    {
      ["type"] = "number",
      ["name"] = "type",
      ["desc"] = "The index of a type as listed from GetLFGTypes()",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a dungeon/quest entry as listed from GetLFGTypeEntries().",
    },
  },
  ["name"] = "SetLookingForGroup",
  ["signature"] = "SetLookingForGroup(slot, type, index)",
  ["returns"] = {
  },
  ["desc"] = "Sets one of the three looking for group slots",
}
SetLookingForMore = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "activityType",
      ["desc"] = "The type of activity. See the return values of GetLFGTypes() for valid indices.",
    },
    {
      ["type"] = "number",
      ["name"] = "activityIndex",
      ["desc"] = "The specific activity index to look for more members for. See the return values of GetLFGTypeEntries() for valid indices.",
    },
  },
  ["name"] = "SetLookingForMore",
  ["signature"] = "SetLookingForMore(activityType, activityIndex)",
  ["returns"] = {
  },
  ["desc"] = "Start looking for more members for the given activity type and index",
}
SetLootMethod = {
  ["arguments"] = {
    {
      ["name"] = "method",
      ["type"] = "string",
      ["values"] = {
        ["master"] = "Master Looter",
        ["needbeforegreed"] = "Need before Greed",
        ["group"] = "Group Loot",
        ["roundrobin"] = "Round Robin",
        ["freeforall"] = "Free for All",
      },
      ["desc"] = "Method to use for loot distribution.",
    },
    {
      ["type"] = "string",
      ["name"] = "master",
      ["desc"] = "Name of the master looter",
    },
  },
  ["name"] = "SetLootMethod",
  ["signature"] = "SetLootMethod(\"method\" [,master])",
  ["returns"] = {
  },
  ["desc"] = "Sets the loot method when in a group or party. Requires leader.",
}
SetLootPortrait = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "texture",
      ["desc"] = "The portrait texture to set",
    },
  },
  ["name"] = "SetLootPortrait",
  ["signature"] = "SetLootPortrait(texture)",
  ["returns"] = {
  },
  ["desc"] = "Sets a texture to the current loot portrait",
}
SetLootThreshold = {
  ["arguments"] = {
    {
      ["name"] = "quality",
      ["type"] = "number",
      ["values"] = {
        ["3"] = "Rare",
        ["2"] = "Uncommon",
        ["5"] = "Legendary",
        ["4"] = "Epic",
        ["6"] = "Artifact",
      },
      ["desc"] = "The minimum item quality to use for the loot method.  This is set to 2 - Uncommon items by default.",
    },
  },
  ["name"] = "SetLootThreshold",
  ["signature"] = "SetLootThreshold(quality)",
  ["returns"] = {
  },
  ["desc"] = "Sets the loot threshold to a specific item quality",
}
SetMacroItem = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "macroIndex",
          ["desc"] = "The index of a macro",
        },
        {
          ["type"] = "string",
          ["name"] = "macroName",
          ["desc"] = "The name of a macro",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "item",
      ["desc"] = "The name of the item to use for the macro",
    },
    {
      ["type"] = "unitid",
      ["optional"] = true,
      ["name"] = "target",
      ["desc"] = "The unitid to use for the maro distance checking",
    },
  },
  ["name"] = "SetMacroItem",
  ["signature"] = "SetMacroItem(macroIndex or \"macroName\", item [,\"target\"])",
  ["returns"] = {
  },
  ["desc"] = "Sets a macro to use a specific item and target for visual updates",
}
SetMacroSpell = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "number",
          ["name"] = "macro",
          ["desc"] = "The macro index to change",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the macro to change",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "spell",
      ["desc"] = "The spell to use as the macro icon",
    },
    {
      ["type"] = "unitid",
      ["name"] = "target",
      ["desc"] = "The target to use when judging if the unit is in range of the spell",
    },
  },
  ["name"] = "SetMacroSpell",
  ["signature"] = "SetMacroSpell(macro or \"name\", \"spell\" [,\"target\"])",
  ["returns"] = {
  },
  ["desc"] = "Sets the spell and target unit used to update a macros icon and range indicator",
}
SetMapToCurrentZone = {
  ["arguments"] = {
  },
  ["name"] = "SetMapToCurrentZone",
  ["signature"] = "SetMapToCurrentZone()",
  ["returns"] = {
  },
  ["desc"] = "Sets the world map to the player's current zone",
}
SetMapZoom = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "continentIndex",
      ["desc"] = "Content index identifier. Use GetMapContinents() for a list. 0 and -1 are valid inputs for Azeroth and the cosmic map.",
    },
    {
      ["type"] = "number",
      ["name"] = "zoneIndex",
      ["desc"] = "Optional argument to display a specific zone within a continent. Use GetMapZones(continentIndex) for a list.",
    },
  },
  ["name"] = "SetMapZoom",
  ["signature"] = "SetMapZoom(continentIndex [,zoneIndex])",
  ["returns"] = {
  },
  ["desc"] = "Sets the worldmap to a specific continent or zone within that continent.",
}
SetModifiedClick = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "action",
      ["desc"] = "The action to set",
    },
    {
      ["type"] = "string",
      ["name"] = "binding",
      ["desc"] = "The modified click to set",
    },
  },
  ["name"] = "SetModifiedClick",
  ["signature"] = "SetModifiedClick(\"action\", \"binding\")",
  ["returns"] = {
  },
  ["desc"] = "Sets a modified click for a given action",
}
SetMouselookOverrideBinding = {
  ["arguments"] = {
    {
      ["name"] = "key",
      ["type"] = "string",
      ["values"] = {
        ["BUTTON1"] = "Override the left mouse button",
        ["BUTTON2"] = "Override the right mouse button",
      },
      ["desc"] = "The mouselook key to override",
    },
    {
      ["type"] = "string",
      ["name"] = "binding",
      ["desc"] = "The binding to perform instead of mouselooking, or nil to clear the override",
    },
  },
  ["name"] = "SetMouselookOverrideBinding",
  ["signature"] = "SetMouselookOverrideBinding(\"key\", \"binding\" or nil)",
  ["returns"] = {
  },
  ["desc"] = "Overrides the default mouselook bindings to perform another binding with the mouse buttons",
}
SetMultisampleFormat = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The multisampling format's index",
    },
  },
  ["name"] = "SetMultisampleFormat",
  ["signature"] = "SetMultisampleFormat(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the client's multisampling format",
}
SetOptOutOfLoot = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "flag",
      ["desc"] = "The setting to make",
    },
  },
  ["name"] = "SetOptOutOfLoot",
  ["signature"] = "SetOptOutOfLoot(setting)",
  ["desc"] = "Sets whether to opt out of random loot",
}
SetOverrideBinding = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "owner",
      ["desc"] = "The frame responsible for setting the override",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isPriority",
      ["desc"] = "Indicates that this is a priority override binding",
    },
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key to bind to the command (e.g. \"CTRL-2\")",
    },
    {
      ["type"] = "string",
      ["name"] = "command",
      ["desc"] = "The binding command to execute or nil to remove the override binding.",
    },
  },
  ["name"] = "SetOverrideBinding",
  ["signature"] = "SetOverrideBinding(owner, isPriority, \"key\", \"command\")",
  ["returns"] = {
  },
  ["desc"] = "Set an override binding to the given command.",
}
SetOverrideBindingClick = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "owner",
      ["desc"] = "The frame responsible for setting the override",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isPriority",
      ["desc"] = "Indicates that this is a priority override binding",
    },
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key to bind to the button (e.g. \"CTRL-2\")",
    },
    {
      ["type"] = "string",
      ["name"] = "buttonName",
      ["desc"] = "The name of the button to which the key will be bound or nil to remove the override binding",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "mouseClick",
      ["desc"] = "The mouse button sent to the button's OnClick handler",
    },
  },
  ["name"] = "SetOverrideBindingClick",
  ["signature"] = "SetOverrideBindingClick(owner, isPriority, \"key\", \"buttonName\" [, \"mouseClick\"])",
  ["returns"] = {
  },
  ["desc"] = "Sets an override binding that acts like a mouse click on a button.",
}
SetOverrideBindingItem = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "owner",
      ["desc"] = "The frame responsible for setting the override",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isPriority",
      ["desc"] = "Indicates that this is a priority override binding",
    },
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key to bind to the button (e.g. \"CTRL-2\")",
    },
    {
      ["type"] = "string",
      ["name"] = "itemName",
      ["desc"] = "The name of the item to use when the binding is triggered",
    },
  },
  ["name"] = "SetOverrideBindingItem",
  ["signature"] = "SetOverrideBindingItem(owner, isPriority, \"KEY\", \"itemname\")",
  ["returns"] = {
  },
  ["desc"] = "Sets an override binding to use a specific item",
}
SetOverrideBindingMacro = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "owner",
      ["desc"] = "The frame responsible for setting the override",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isPriority",
      ["desc"] = "Indicates that this is a priority override binding",
    },
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key to bind to the command (e.g. \"CTRL-2\")",
    },
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "macroName",
          ["desc"] = "The name of a macro to set for the override binding, or nil to remove the binding",
        },
        {
          ["type"] = "number",
          ["name"] = "macroIndex",
          ["desc"] = "The index of a macro to set for the override binding, or nil to remove the binding",
        },
      },
    },
  },
  ["name"] = "SetOverrideBindingMacro",
  ["signature"] = "SetOverrideBindingMacro(owner, isPriority, \"key\", \"macroName\" or macroIndex)",
  ["returns"] = {
  },
  ["desc"] = "Sets an override binding to a specific macro",
}
SetOverrideBindingSpell = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "owner",
      ["desc"] = "The frame responsible for setting the override",
    },
    {
      ["type"] = "boolean",
      ["name"] = "isPriority",
      ["desc"] = "Indicates that this is a priority override binding",
    },
    {
      ["type"] = "string",
      ["name"] = "key",
      ["desc"] = "The key to bind to the command (e.g. \"CTRL-2\")",
    },
    {
      ["type"] = "string",
      ["name"] = "spellname",
      ["desc"] = "The spell to cast or nil to remove the override binding",
    },
  },
  ["name"] = "SetOverrideBindingSpell",
  ["signature"] = "SetOverrideBindingSpell(owner, isPriority, \"key\", \"spellname\")",
  ["returns"] = {
  },
  ["desc"] = "Set an override binding to a specific spell",
}
SetPVP = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "state",
      ["desc"] = "1 to enable PVP, nil to disable",
    },
  },
  ["name"] = "SetPVP",
  ["signature"] = "SetPVP(state)",
  ["returns"] = {
  },
  ["desc"] = "Enables/Disables PVP for the player.",
}
SetPartyAssignment = {
  ["arguments"] = {
    {
      ["name"] = "role",
      ["type"] = "string",
      ["values"] = {
        "maintank",
        "mainassist",
      },
      ["desc"] = "The role to assign to the given party member",
    },
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to assign a role",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to assign a role",
        },
      },
    },
    {
      ["type"] = "1nil",
      ["name"] = "exact",
      ["desc"] = "When using the \"name\" argument, a value of 1 here will only match the name exactly, otherwise it will match the closest name",
    },
  },
  ["name"] = "SetPartyAssignment",
  ["signature"] = "SetPartyAssignment(\"role\", \"unit\" or \"name\" [,exact])",
  ["returns"] = {
  },
  ["desc"] = "Assigns a party role (maintank, mainassist) to a player or unit",
}
SetPetStablePaperdoll = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "model",
      ["desc"] = "A model frame",
    },
  },
  ["name"] = "SetPetStablePaperdoll",
  ["signature"] = "SetPetStablePaperdoll(model)",
  ["returns"] = {
  },
  ["desc"] = "Sets the given model to the currently selected stabled pet's model",
}
SetPortraitTexture = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "texture",
      ["desc"] = "The texture object to set",
    },
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to use for the portrait texture",
    },
  },
  ["name"] = "SetPortraitTexture",
  ["signature"] = "SetPortraitTexture(texture, \"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Sets a portrait texture based on a unit's model",
}
SetPortraitToTexture = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "frameName",
      ["desc"] = "The global name of the portrait texture to be altered",
    },
    {
      ["type"] = "string",
      ["note"] = "The texture must be a .BLP file",
      ["name"] = "texturePath",
      ["desc"] = "The path to the texture to be used",
    },
  },
  ["name"] = "SetPortraitToTexture",
  ["signature"] = "SetPortraitToTexture(\"frameName\", \"texturePath\")",
  ["returns"] = {
  },
  ["desc"] = "Sets a portrait to a given texture.",
}
SetRaidRosterSelection = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The raid index of the selected unit.  This is a value from 1 to GetNumRaidMembers().",
    },
  },
  ["name"] = "SetRaidRosterSelection",
  ["signature"] = "SetRaidRosterSelection(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently selected raid roster unit.",
}
SetRaidSubgroup = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The raid index of the player to move.  This can be obtained by mousing over the player in the raid frame, and running /run ChatFrame1:AddMessage(GetMouseFocus():GetID()).",
    },
    {
      ["type"] = "number",
      ["name"] = "subgroup",
      ["desc"] = "A non-full raid subgroup (1-8) where the player should be moved.",
    },
  },
  ["name"] = "SetRaidSubgroup",
  ["signature"] = "SetRaidSubgroup(index, subgroup)",
  ["returns"] = {
  },
  ["desc"] = "Moves a raid member to a non-full raid subgroup",
}
SetRaidTarget = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitId of the unit to mark",
        },
        {
          ["type"] = "string",
          ["note"] = "This argument can only be used with the names of members of your party/raid",
          ["name"] = "name",
          ["desc"] = "The full name of the player to mark",
        },
      },
    },
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        "Star",
        "Circle",
        "Diamond",
        "Triangle",
        "Moon",
        "Square",
        "Cross",
        "Skull",
        [0] = "Clear any raid target markers",
      },
      ["desc"] = "The index of the raid target to place, or 0 to clear",
    },
  },
  ["name"] = "SetRaidTarget",
  ["signature"] = "SetRaidTarget(\"unit\" or \"name\", index)",
  ["returns"] = {
  },
  ["desc"] = "Sets a raid target marker on the given unit",
}
SetScreenResolution = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the resolution to choose.  These values correspond to the returns from GetScreenResolutions().",
    },
  },
  ["name"] = "SetScreenResolution",
  ["signature"] = "SetScreenResolution(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the screen resolution to a specified value.",
}
SetSelectedAuctionItem = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions available for purchase",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction house listing",
    },
  },
  ["name"] = "SetSelectedAuctionItem",
  ["signature"] = "SetSelectedAuctionItem(\"type\", index)",
  ["returns"] = {
  },
  ["desc"] = "Selects a specific item in the auction house",
}
SetSelectedBattlefield = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The battlefield index to select",
    },
  },
  ["name"] = "SetSelectedBattlefield",
  ["signature"] = "SetSelectedBattlefield(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects a given battlefield in the battlemaster window",
}
SetSelectedDisplayChannel = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the display channel to select",
    },
  },
  ["name"] = "SetSelectedDisplayChannel",
  ["signature"] = "SetSelectedDisplayChannel(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects the given display channel for use in other functions",
}
SetSelectedFaction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the faction in the reputation window",
    },
  },
  ["name"] = "SetSelectedFaction",
  ["signature"] = "SetSelectedFaction(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the current faction selection",
}
SetSelectedFriend = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a friend in the friend's listing",
    },
  },
  ["name"] = "SetSelectedFriend",
  ["signature"] = "SetSelectedFriend(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the selection in the Friends list",
}
SetSelectedIgnore = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index in the ignore list",
    },
  },
  ["name"] = "SetSelectedIgnore",
  ["signature"] = "SetSelectedIgnore(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently selected ignore entry",
}
SetSelectedMute = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the muted player to select",
    },
  },
  ["name"] = "SetSelectedMute",
  ["signature"] = "SetSelectedMute(index)",
  ["returns"] = {
  },
  ["desc"] = "Selects the given muted player for use by other functions",
}
SetSelectedSkill = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a skill in the skill window, including skill headers",
    },
  },
  ["name"] = "SetSelectedSkill",
  ["signature"] = "SetSelectedSkill(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the currently selected skill in the skills window.",
}
SetSendMailCOD = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The COD cost of the item being sent, in copper",
    },
  },
  ["name"] = "SetSendMailCOD",
  ["signature"] = "SetSendMailCOD(amount)",
  ["returns"] = {
  },
  ["desc"] = "Sets the COD cost of a mail being sent",
}
SetSendMailMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The amount of money to send in copper",
    },
  },
  ["name"] = "SetSendMailMoney",
  ["signature"] = "success = SetSendMailMoney(amount)",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "success",
      ["desc"] = "1 if you have enough money (not including postage), otherwise nil",
    },
  },
  ["desc"] = "Sets the amount of money to send with the next mail message",
}
SetSendMailShowing = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "enable",
      ["desc"] = "If true, enables right-click to attach items to the mail to be sent",
    },
  },
  ["name"] = "SetSendMailShowing",
  ["signature"] = "SetSendMailShowing(enable)",
  ["returns"] = {
  },
  ["desc"] = "Controls whether or not right-clicking an item attaches it to the mail to be sent",
}
SetTaxiBenchmarkMode = {
  ["arguments"] = {
  },
  ["name"] = "SetTaxiBenchmarkMode",
  ["signature"] = "SetTaxiBenchmarkMode()",
  ["returns"] = {
  },
  ["desc"] = "Turns on flight path \"benchmark\" mode.",
}
SetTaxiMap = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "texture",
      ["desc"] = "The texture to set",
    },
  },
  ["name"] = "SetTaxiMap",
  ["signature"] = "SetTaxiMap(texture)",
  ["returns"] = {
  },
  ["desc"] = "Sets a texture to the TaxiMap texture",
}
SetTerrainMip = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "terrainDetailLevel",
      ["desc"] = "The value to set for the \"Terrain Detail Level\" slider in the Video options.  This is a either 0 or 1.",
    },
  },
  ["name"] = "SetTerrainMip",
  ["signature"] = "SetTerrainMip(value)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value of the \"Terrain Detail Level\" slider in the video options",
}
SetTexLodBias = {
  ["arguments"] = {
  },
  ["name"] = "SetTexLodBias",
  ["signature"] = "SetTexLodBias(value)",
  ["returns"] = {
  },
  ["desc"] = "",
}
SetTracking = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Tracking Index.  1 to GetNumTrackingTypes(). nil to track nothing.",
    },
  },
  ["name"] = "SetTracking",
  ["signature"] = "SetTracking(index)",
  ["returns"] = {
  },
  ["desc"] = "Set minimap tracking to the given index between 1 and GetNumTrackingTypes().  Pass nil to track nothing.",
}
SetTradeMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The amount of money to trade, in copper",
    },
  },
  ["name"] = "SetTradeMoney",
  ["signature"] = "SetTradeMoney(amount)",
  ["returns"] = {
  },
  ["desc"] = "Sets the amount of money to trade in the trade window, in copper",
}
SetTradeSkillInvSlotFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an inventory slot filter",
    },
    {
      ["type"] = "1nil",
      ["optional"] = true,
      ["name"] = "enable",
      ["desc"] = "1 to enable the filter, otherwise nil",
    },
    {
      ["type"] = "1nil",
      ["optional"] = true,
      ["name"] = "exclusive",
      ["desc"] = "1 to enable the filter exclusively, otherwise nil",
    },
  },
  ["name"] = "SetTradeSkillInvSlotFilter",
  ["signature"] = "SetTradeSkillInvSlotFilter(index [, enable, exclusive])",
  ["returns"] = {
  },
  ["desc"] = "Enables or disables an inventory slot filter in the tradeskill window",
}
SetTradeSkillItemLevelFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "minLevel",
      ["desc"] = "Lowest required level of items to show in filtered TradeSkill list",
    },
    {
      ["type"] = "number",
      ["name"] = "maxLevel",
      ["desc"] = "Highest required level of items to show in filtered TradeSkill list",
    },
  },
  ["name"] = "SetTradeSkillItemLevelFilter",
  ["signature"] = "SetTradeSkillItemLevelFilter(minLevel, maxLevel)",
  ["returns"] = {
  },
  ["desc"] = "Filters the TradeSkill window's list by required level of produced items.",
}
SetTradeSkillItemNameFilter = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The search string",
    },
  },
  ["name"] = "SetTradeSkillItemNameFilter",
  ["signature"] = "SetTradeSkillItemNameFilter(\"text\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the tradeskill item name filter search string",
}
SetTradeSkillSubClassFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a return from GetTradeSkillSubClasses()",
    },
    {
      ["type"] = "1nil",
      ["name"] = "enable",
      ["desc"] = "1 to enabled, nil to disable",
    },
    {
      ["type"] = "1nil",
      ["name"] = "exclusive",
      ["desc"] = "1 to disable all other filters when enabling this one, otherwise nil",
    },
  },
  ["name"] = "SetTradeSkillSubClassFilter",
  ["signature"] = "isVisible = SetTradeSkillSubClassFilter(index [, enable, exclusive])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isVisible",
      ["desc"] = "Whether items corresponding to the filter are visible (1) or not (nil)",
    },
  },
  ["desc"] = "Enables or disables a given tradeskill subclass filter",
}
SetTrainerServiceTypeFilter = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["used"] = "Show skills that you have already learned",
        ["unavailable"] = "Show skills that you are unable to learn",
        ["available"] = "Show skills that you are able to learn",
      },
      ["desc"] = "The filter type to query",
    },
    {
      ["type"] = "number",
      ["name"] = "status",
      ["values"] = {
        ["1"] = "Enable the filter",
        ["0"] = "Disable the filter",
      },
      ["optional"] = true,
      ["desc"] = "The new status of the given filter",
    },
    {
      ["type"] = "number",
      ["name"] = "exclusive",
      ["values"] = {
        ["1"] = "Turns off all other filters, if filter is being enabled",
      },
      ["optional"] = true,
      ["desc"] = "Turns off all other filters, if the filter is being enabled",
    },
  },
  ["name"] = "SetTrainerServiceTypeFilter",
  ["signature"] = "SetTrainerServiceTypeFilter(\"type\", status [, exclusive])",
  ["returns"] = {
  },
  ["desc"] = "Sets the state of a filter in the trainer window",
}
SetTrainerSkillLineFilter = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a skill line filter.  These are any of the major headings at a trainer, such as \"Frost\", \"Fire\" and \"Arcae\", or \"Development Skills\" and \"Recipes\"",
    },
    {
      ["type"] = "number",
      ["name"] = "status",
      ["values"] = {
        ["1"] = "Enable the filter",
        ["0"] = "Disable the filter",
      },
      ["optional"] = true,
      ["desc"] = "The new status of the given filter",
    },
    {
      ["type"] = "number",
      ["name"] = "exclusive",
      ["values"] = {
        ["1"] = "Turns off all other filters, if filter is being enabled",
      },
      ["optional"] = true,
      ["desc"] = "Turns off all other filters, if the filter is being enabled",
    },
  },
  ["name"] = "SetTrainerSkillLineFilter",
  ["signature"] = "SetTrainerSkillLineFilter(index [, status, exclusive])",
  ["returns"] = {
  },
  ["desc"] = "Sets the state of a skill line filter in the trainer ui",
}
SetUIVisibility = {
  ["arguments"] = {
    {
      ["type"] = "number or boolean",
      ["name"] = "visible",
      ["desc"] = "Any true value other than 0 to enable UI visibility.  False or nil will disable",
    },
  },
  ["name"] = "SetUIVisibility",
  ["signature"] = "SetUIVisibility(visible)",
  ["returns"] = {
  },
  ["desc"] = "Changes whether or not UI rendered models are shown",
}
SetView = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "Sets the camera view to one of the pre-set views.  These views can have been previously saved with the SaveView() function, otherwise the game's default views are used.",
    },
  },
  ["name"] = "SetView",
  ["signature"] = "SetView(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the camera view to one of the pre-set views",
}
SetWatchedFactionIndex = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the faction to watch",
    },
  },
  ["name"] = "SetWatchedFactionIndex",
  ["signature"] = "SetWatchedFactionIndex(index)",
  ["returns"] = {
  },
  ["desc"] = "Sets the faction to watch reputation progress for",
}
SetWaterDetail = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The new value for the water detail",
    },
  },
  ["name"] = "SetWaterDetail",
  ["signature"] = "SetWaterDetail(value)",
  ["returns"] = {
  },
  ["desc"] = "Sets the value for the water details display",
}
SetWhoToUI = {
  ["arguments"] = {
    {
      ["name"] = "state",
      ["type"] = "number",
      ["values"] = {
        "Any result set will be displayed in the FriendsFrame and send via the WHO_LIST_UPDATE event.",
        [0] = "Any result sets less than four entries should be sent via CHAT_MSG_SYSTEM events.  In this case, the FriendsFrame will not open.  However, if the result set is four entries or larger, then the results will be sent via the WHO_LIST_UPDATE event.",
      },
      ["desc"] = "Determines how results of a SendWho() request should be handled",
    },
  },
  ["name"] = "SetWhoToUI",
  ["signature"] = "SetWhoToUI(state)",
  ["returns"] = {
  },
  ["desc"] = "Sets a flag that determines how the results of a SendWho() request are delivered.",
}
SetupFullscreenScale = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["name"] = "frame",
      ["desc"] = "Frame to resize to full screen",
    },
  },
  ["name"] = "SetupFullscreenScale",
  ["signature"] = "SetupFullscreenScale(frame)",
  ["returns"] = {
  },
  ["desc"] = "Sizes a frame to take up the entire screen.  Sizes the frames differently depending on resolution.  Never returns a meaningful value.",
}
ShowBattlefieldList = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the battlefield currently queued for",
    },
  },
  ["name"] = "ShowBattlefieldList",
  ["signature"] = "ShowBattlefieldList(index)",
  ["returns"] = {
  },
  ["desc"] = "Displays the battlefield list window for a previously queued battlefield",
}
ShowBuybackSellCursor = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "A slotId from the Merchant Buyback window",
    },
  },
  ["name"] = "ShowBuybackSellCursor",
  ["signature"] = "ShowBuybackSellCursor(index)",
  ["returns"] = {
  },
  ["desc"] = "Shows the buyback/sell cursor",
}
ShowCloak = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "enable",
      ["desc"] = "true, 1, strings, tables and userdata enable the cloak; 0, false and nil disable the cloak",
    },
  },
  ["name"] = "ShowCloak",
  ["signature"] = "ShowCloak(enable)",
  ["returns"] = {
  },
  ["desc"] = "This function enables or disables the showing of the cloak on the player's character",
}
ShowContainerSellCursor = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of a container",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot within the given container",
    },
  },
  ["name"] = "ShowContainerSellCursor",
  ["signature"] = "ShowContainerSellCursor(index, slot)",
  ["returns"] = {
  },
  ["desc"] = "Displays the \"sell item\" cursor for a given container item",
}
ShowFriends = {
  ["arguments"] = {
  },
  ["name"] = "ShowFriends",
  ["signature"] = "ShowFriends()",
  ["returns"] = {
  },
  ["desc"] = "Requests updated friends information from the server",
}
ShowHelm = {
  ["arguments"] = {
    {
      ["type"] = "1nil",
      ["name"] = "show",
      ["desc"] = "1 to enable helm display, otherwise nil",
    },
  },
  ["name"] = "ShowHelm",
  ["signature"] = "ShowHelm(show)",
  ["returns"] = {
  },
  ["desc"] = "Enables or disables the display of the players helm",
}
ShowInventorySellCursor = {
  ["arguments"] = {
  },
  ["name"] = "ShowInventorySellCursor",
  ["signature"] = "ShowInventorySellCursor()",
  ["returns"] = {
  },
  ["desc"] = "Changes the cursor to the \"inventory sell\" cursor",
}
ShowMerchantSellCursor = {
  ["arguments"] = {
  },
  ["name"] = "ShowMerchantSellCursor",
  ["signature"] = "ShowMerchantSellCursor(index)",
  ["returns"] = {
  },
  ["desc"] = "Shows the merchant \"sell item\" cursor",
}
ShowMiniWorldMapArrowFrame = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "show",
      ["desc"] = "If the battlefield minimap's player arrow should be shown",
    },
  },
  ["name"] = "ShowMiniWorldMapArrowFrame",
  ["signature"] = "ShowMiniWorldMapArrowFrame(show)",
  ["returns"] = {
  },
  ["desc"] = "Shows or hides the battlefield minimap's player arrow",
}
ShowRepairCursor = {
  ["arguments"] = {
  },
  ["name"] = "ShowRepairCursor",
  ["signature"] = "ShowRepairCursor()",
  ["returns"] = {
  },
  ["desc"] = "Changes the cursor to show the repair cursor",
}
ShowWorldMapArrowFrame = {
  ["arguments"] = {
  },
  ["name"] = "ShowWorldMapArrowFrame",
  ["signature"] = "ShowWorldMapArrowFrame(nil)",
  ["returns"] = {
  },
  ["desc"] = "",
}
ShowingCloak = {
  ["arguments"] = {
  },
  ["name"] = "ShowingCloak",
  ["signature"] = "isShown = ShowingCloak()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isShown",
      ["desc"] = "1 if the cloak is currently set to be shown, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the \"Show Cloak\" setting is currently checked",
}
ShowingHelm = {
  ["arguments"] = {
  },
  ["name"] = "ShowingHelm",
  ["signature"] = "isShowing = ShowingHelm()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isShowing",
      ["desc"] = "1 if the helm is being shown, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the helm is currently being shown",
}
SignPetition = {
  ["arguments"] = {
  },
  ["name"] = "SignPetition",
  ["signature"] = "SignPetition()",
  ["returns"] = {
  },
  ["desc"] = "Signs the currently offered petition",
}
SilenceMember = {
  ["arguments"] = {
  },
  ["name"] = "SilenceMember",
  ["signature"] = "SilenceMember()",
  ["returns"] = {
  },
  ["desc"] = "",
}
SitStandOrDescendStart = {
  ["arguments"] = {
  },
  ["name"] = "SitStandOrDescendStart",
  ["signature"] = "SitStandOrDescendStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
SocketContainerItem = {
  ["arguments"] = {
    {
      ["name"] = "index",
      ["type"] = "number",
      ["values"] = {
        ["1"] = "Bag 1",
        ["0"] = "Backpack",
        ["3"] = "Bag 3",
        ["2"] = "Bag 2",
        ["5"] = "Bank Bag 1",
        ["4"] = "Bag 4",
        ["7"] = "Bank Bag 3",
        ["6"] = "Bank Bag 2",
        ["9"] = "Bank Bag 5",
        ["-2"] = "Keyring",
        ["-1"] = "Standard Bank",
        ["8"] = "Bank Bag 4",
        ["11"] = "Bank Bag 7",
        ["10"] = "Bank Bag 6",
      },
      ["desc"] = "Container ID",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "Slot within container",
    },
  },
  ["name"] = "SocketContainerItem",
  ["signature"] = "SocketContainerItem(index, slot)",
  ["returns"] = {
  },
  ["desc"] = "Opens the Gem Socketing UI if the given container slot has a socketable item",
}
SocketInventoryItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An inventory slot Id",
    },
  },
  ["name"] = "SocketInventoryItem",
  ["signature"] = "SocketInventoryItem(slot)",
  ["returns"] = {
  },
  ["desc"] = "Opens the socketing UI for the given inventory item, if it has sockets",
}
SortArenaTeamRoster = {
  ["arguments"] = {
    {
      ["name"] = "sortType",
      ["type"] = "string",
      ["values"] = {
        ["played"] = "Sort the roster by amount of played games",
        ["name"] = "Sort the roster by name",
        ["class"] = "Sort the roster by class",
        ["won"] = "Sort the roster by amoun of won games",
        ["rating"] = "Sort the roster by personal rating",
      },
      ["desc"] = "The column to sort the roster by",
    },
  },
  ["name"] = "SortArenaTeamRoster",
  ["signature"] = "SortArenaTeamRoster(sortType)",
  ["returns"] = {
  },
  ["desc"] = "Sorts the selected arena team's roster by the given sort type",
}
SortAuctionApplySort = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions available for buying/bidding",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The auction listing type",
    },
  },
  ["name"] = "SortAuctionApplySort",
  ["signature"] = "SortAuctionApplySort(\"type\")",
  ["returns"] = {
  },
  ["desc"] = "Applys the currently configured sort for the given auction type",
}
SortAuctionClearSort = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions avalable for bidding or purchase",
        ["bidder"] = "Auctions the player has bid on ",
      },
      ["desc"] = "The auction house listing to clear",
    },
  },
  ["name"] = "SortAuctionClearSort",
  ["signature"] = "SortAuctionClearSort(\"type\")",
  ["returns"] = {
  },
  ["desc"] = "Clears any current sorting rules for the given auction house listing",
}
SortAuctionItems = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Standard auction house listing",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The type of auction listing to sort",
    },
    {
      ["name"] = "sort",
      ["type"] = "string",
      ["values"] = {
        ["status"] = "The status of the auction.  This column depends on the listing type.  When browsing the auction house, this is the name of the seller or the item.  When viewing the list of auctions the player has bid on, this is the bid status.  On the listing of auctions the player has placed, this is the name of the current high bidder",
        ["bid"] = "The current bid amount",
        ["level"] = "The minimum required level to use the item, if any",
        ["duration"] = "The time left in the auction",
        ["quality"] = "The item quality/rarity",
      },
      ["desc"] = "The column to use to sort the listing",
    },
  },
  ["name"] = "SortAuctionItems",
  ["signature"] = "SortAuctionItems(\"type\", \"sort\")",
  ["returns"] = {
  },
  ["desc"] = "Sorts the auction house listing",
}
SortAuctionSetSort = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["owner"] = "Auctions the player has placed",
        ["list"] = "Auctions avalable for bidding or purchase",
        ["bidder"] = "Auctions the player has bid on",
      },
      ["desc"] = "The auction house listing to edit",
    },
    {
      ["name"] = "sort",
      ["type"] = "string",
      ["values"] = {
        ["duration"] = "Auction time left",
        ["seller"] = "Auction poster",
        ["buyout"] = "Current buyout",
        ["quantity"] = "Item quantity (stack size)",
        ["name"] = "Item name",
        ["bid"] = "Current bid",
        ["buyoutthenbid"] = "Sort first by buyout, then by bid",
        ["level"] = "Item use level",
        ["status"] = "Whether or not a bid has been placed on the auction",
        ["quality"] = "Item quality",
      },
      ["desc"] = "The sort type you want to apply",
    },
    {
      ["type"] = "boolean",
      ["name"] = "reversed",
      ["desc"] = "True if you want the sort to be an inverse one (Z -> A), false if you want it to be normal (A -> Z)",
    },
  },
  ["name"] = "SortAuctionSetSort",
  ["signature"] = "SortAuctionSetSort(type, sort, reversed)",
  ["returns"] = {
  },
  ["desc"] = "Sets the server-side sort to be applied to the items returned by an Auction House Query",
}
SortBattlefieldScoreData = {
  ["arguments"] = {
    {
      ["name"] = "sortType",
      ["type"] = "string",
      ["values"] = {
        ["stat1"] = "Battlefield-specific custom stat 1",
        ["deaths"] = "Sort by number of deaths",
        ["healing"] = "Sorts by healing done",
        ["cp"] = "Sorts by honor points gained",
        ["stat2"] = "Battlefield-specific custom stat 2",
        ["class"] = "Sort by class type",
        ["kills"] = "Sort by number of kills",
        ["name"] = "Sort by player name",
        ["stat5"] = "Battlefield-specific custom stat 5",
        ["stat7"] = "Battlefield-specific custom stat 7",
        ["stat6"] = "Battlefield-specific custom stat 6",
        ["hk"] = "Sorts by number of honor kills",
        ["team"] = " Sort by team name",
        ["stat4"] = "Battlefield-specific custom stat 4",
        ["stat3"] = "Battlefield-specific custom stat 3",
        ["damage"] = "Sorts by damage done",
      },
      ["desc"] = "The sort type for the battlefield score data",
    },
  },
  ["name"] = "SortBattlefieldScoreData",
  ["signature"] = "SortBattlefieldScoreData(sortType)",
  ["returns"] = {
  },
  ["desc"] = "Sorts the battlefield data based on a specific sortType",
}
SortGuildRoster = {
  ["arguments"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["note"] = "Sort by guild note",
        ["name"] = "Sort by name",
        ["zone"] = "Sort by current zone name",
        ["online"] = "Sory by last online time",
        ["level"] = "Sort by character level",
        ["class"] = "Sort by class name",
        ["rank"] = "Sort by guild rank",
      },
      ["desc"] = "The type of criteria to sort by",
    },
  },
  ["name"] = "SortGuildRoster",
  ["signature"] = "SortGuildRoster(\"type\")",
  ["returns"] = {
  },
  ["desc"] = "Sorts the guild roster",
}
SortLFG = {
  ["arguments"] = {
    {
      ["name"] = "sortType",
      ["type"] = "string",
      ["values"] = {
        ["level"] = "Sort results by player level",
        ["class"] = "Sort results by player class",
        ["name"] = "Sort results by player name",
        ["zone"] = "Sort results by current zone",
      },
      ["desc"] = "The sort method to be used",
    },
  },
  ["name"] = "SortLFG",
  ["signature"] = "SortLFG(sortType)",
  ["returns"] = {
  },
  ["desc"] = "Sets the sort type for a Looking for Group query",
}
SortWho = {
  ["arguments"] = {
    {
      ["name"] = "sortType",
      ["type"] = "string",
      ["values"] = {
        ["race"] = "Sort by race name",
        ["name"] = "Sort by player name",
        ["zone"] = "Sort by current zone name",
        ["level"] = "Sort by player level",
        ["class"] = "Sort by class name",
        ["guild"] = "Sort by guild name",
      },
      ["desc"] = "A sort type used to sort the list",
    },
  },
  ["name"] = "SortWho",
  ["signature"] = "SortWho(sortType)",
  ["returns"] = {
  },
  ["desc"] = "Sets the sort method for the \"Who\" list",
}
Sound_ChatSystem_GetInputDriverNameByIndex = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The desired index",
    },
  },
  ["name"] = "Sound_ChatSystem_GetInputDriverNameByIndex",
  ["signature"] = "name = Sound_ChatSystem_GetInputDriverNameByIndex(index)",
  ["desc"] = "Returns the name of the given chat system sound input driver",
}
Sound_ChatSystem_GetNumInputDrivers = {
  ["name"] = "Sound_ChatSystem_GetNumInputDrivers",
  ["signature"] = "num = Sound_ChatSystem_GetNumInputDrivers()",
  ["desc"] = "Returns the number of chat system sound input drivers",
}
Sound_ChatSystem_GetNumOutputDrivers = {
  ["name"] = "Sound_ChatSystem_GetNumOutputDrivers",
  ["signature"] = "num = Sound_ChatSystem_GetNumOutputDrivers()",
  ["desc"] = "Returns the number of chat system sound output drivers",
}
Sound_ChatSystem_GetOutputDriverNameByIndex = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The desired index",
    },
  },
  ["name"] = "Sound_ChatSystem_GetOutputDriverNameByIndex",
  ["signature"] = "name = Sound_ChatSystem_GetOutputDriverNameByIndex(index)",
  ["desc"] = "Returns the name of the given chat system sound output driver",
}
Sound_GameSystem_GetInputDriverNameByIndex = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The desired index",
    },
  },
  ["name"] = "Sound_GameSystem_GetInputDriverNameByIndex",
  ["signature"] = "name = Sound_GameSystem_GetInputDriverNameByIndex(index)",
  ["desc"] = "Returns the name of the given game sound input driver",
}
Sound_GameSystem_GetNumInputDrivers = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The desired index",
    },
  },
  ["name"] = "Sound_GameSystem_GetNumInputDrivers",
  ["signature"] = "num = Sound_GameSystem_GetNumInputDrivers()",
  ["desc"] = "Returns the number of game sound input drivers",
}
Sound_GameSystem_GetNumOutputDrivers = {
  ["name"] = "Sound_GameSystem_GetNumOutputDrivers",
  ["signature"] = "num = Sound_GameSystem_GetNumOutputDrivers()",
  ["desc"] = "Returns the number of game sound output drivers",
}
Sound_GameSystem_GetOutputDriverNameByIndex = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The desired index",
    },
  },
  ["name"] = "Sound_GameSystem_GetOutputDriverNameByIndex",
  ["signature"] = "name = Sound_GameSystem_GetOutputDriverNameByIndex(index)",
  ["desc"] = "Returns the name of the given game sound output driver",
}
Sound_GameSystem_RestartSoundSystem = {
  ["name"] = "Sound_GameSystem_RestartSoundSystem",
  ["signature"] = "Sound_GameSystem_RestartSoundSystem()",
  ["desc"] = "Restarts the game's sound systems",
}
SpellCanTargetItem = {
  ["arguments"] = {
  },
  ["name"] = "SpellCanTargetItem",
  ["signature"] = "canTarget = SpellCanTargetItem()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canTarget",
      ["desc"] = "1 if the spell on the cursor can target an item, nil if not.",
    },
  },
  ["desc"] = "Return whether or not the spell on the cursor can target an item or not.  Will return nil when no spell is on the cursor.",
}
SpellCanTargetUnit = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "SpellCanTargetUnit",
  ["signature"] = "canTarget = SpellCanTargetUnit(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canTarget",
      ["desc"] = "1 if the spell currently awaiting targeting can target the given unit",
    },
  },
  ["desc"] = "Returns whether or not the spell currently awaiting a target can target a given unit",
}
SpellHasRange = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "spellName",
          ["desc"] = "The name of a spell",
        },
        {
          ["type"] = "number",
          ["name"] = "spellId",
          ["desc"] = "The spellId of a spell",
        },
      },
    },
    {
      ["type"] = "string",
      ["name"] = "bookType",
      ["optional"] = true,
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook the supplied spellId is for",
    },
  },
  ["name"] = "SpellHasRange",
  ["signature"] = "hasRange = SpellHasRange(\"spellName\" or spellId [, \"bookType\"])",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasRange",
      ["desc"] = "1 if the specified spell has a range restriction, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given spell has a range restriction",
}
SpellIsTargeting = {
  ["arguments"] = {
  },
  ["name"] = "SpellIsTargeting",
  ["signature"] = "isTargeting = SpellIsTargeting()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isTargeting",
      ["desc"] = "1 if there is a spell currently awaiting a target, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not there is a spell currently awaiting a target",
}
SpellStopCasting = {
  ["arguments"] = {
  },
  ["name"] = "SpellStopCasting",
  ["signature"] = "SpellStopCasting()",
  ["returns"] = {
  },
  ["desc"] = "Stops casting or targeting the current spell",
}
SpellStopTargeting = {
  ["arguments"] = {
  },
  ["name"] = "SpellStopTargeting",
  ["signature"] = "SpellStopTargeting()",
  ["returns"] = {
  },
  ["desc"] = "Cancels the spell currently waiting for targeting.",
}
SpellTargetItem = {
  ["arguments"] = {
  },
  ["name"] = "SpellTargetItem",
  ["signature"] = "SpellTargetItem(itemID or \"name\" or \"itemlink\")",
  ["returns"] = {
  },
  ["desc"] = "",
}
SpellTargetUnit = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to target with the spell",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The full name of the unit to target with the spell",
    },
  },
  ["name"] = "SpellTargetUnit",
  ["signature"] = "SpellTargetUnit(\"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Targets a unit with the spell currently awaiting a target",
}
SplitContainerItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of container that holds the item to be split",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot that contains the item to be split",
    },
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The number of items to split from the main stack",
    },
  },
  ["name"] = "SplitContainerItem",
  ["signature"] = "SplitContainerItem(index, slot, amount)",
  ["returns"] = {
  },
  ["desc"] = "Splits an item in a given container, placing the new stack on the cursor.",
}
SplitGuildBankItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "tab",
      ["desc"] = "The index of the tab that holds the item to be split",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot that contains the item to be split",
    },
    {
      ["type"] = "number",
      ["name"] = "amount",
      ["desc"] = "The number of items to split from the main stack",
    },
  },
  ["name"] = "SplitGuildBankItem",
  ["signature"] = "SplitGuildBankItem(tab, slot, amount)",
  ["returns"] = {
  },
  ["desc"] = "Splits an item in a given tab and slot, placing the new stack on the cursor.",
}
StablePet = {
  ["arguments"] = {
  },
  ["name"] = "StablePet",
  ["signature"] = "StablePet()",
  ["returns"] = {
  },
  ["desc"] = "Attempts to put your current pet in the stable.",
}
StartAttack = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "target",
      ["desc"] = "The target you want to start attacking, can be a UnitId like \"raid10target\" or a unit's name",
    },
  },
  ["name"] = "StartAttack",
  ["signature"] = "StartAttack(\"target\")",
  ["returns"] = {
  },
  ["desc"] = "This function is used by Blizzard code to start an attack on a specific unit.",
}
StartAuction = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "minBid",
      ["desc"] = "The minimum bid, in copper",
    },
    {
      ["type"] = "number",
      ["name"] = "buyoutPrice",
      ["desc"] = "The buyout price, in copper",
    },
    {
      ["name"] = "runTime",
      ["type"] = "number",
      ["values"] = {
        [1440] = "24 hours",
        [2880] = "48 hours",
        [720] = "12 hours",
      },
      ["desc"] = "The runtime of the auction, in minutes",
    },
  },
  ["name"] = "StartAuction",
  ["signature"] = "StartAuction(minBid, buyoutPrice, runTime)",
  ["returns"] = {
  },
  ["desc"] = "Starts a new auction",
}
StartDuel = {
  ["arguments"] = {
    {
      {
        ["type"] = "1nil",
        ["optional"] = true,
        ["name"] = "exact",
        ["desc"] = "1 if the name match should be exact, otherwise nil",
      },
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitId of the player to challenge",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a player to challenge",
        },
      },
    },
  },
  ["name"] = "StartDuel",
  ["signature"] = "StartDuel(\"unit\" or \"name\", exact)",
  ["returns"] = {
  },
  ["desc"] = "Challenges another player to a duel",
}
StopAttack = {
  ["arguments"] = {
  },
  ["name"] = "StopAttack",
  ["signature"] = "StopAttack()",
  ["returns"] = {
  },
  ["desc"] = "Stops auto-attack if active",
}
StopCinematic = {
  ["arguments"] = {
  },
  ["name"] = "StopCinematic",
  ["signature"] = "StopCinematic()",
  ["returns"] = {
  },
  ["desc"] = "Stops a cinematic that is currently playing",
}
StopMacro = {
  ["arguments"] = {
  },
  ["name"] = "StopMacro",
  ["signature"] = "StopMacro()",
  ["returns"] = {
  },
  ["desc"] = "Stops execution of a running macro",
}
StopMusic = {
  ["arguments"] = {
  },
  ["name"] = "StopMusic",
  ["signature"] = "StopMusic()",
  ["returns"] = {
  },
  ["desc"] = "Immediately stops the currently played in-game music",
}
StopTradeSkillRepeat = {
  ["arguments"] = {
  },
  ["name"] = "StopTradeSkillRepeat",
  ["signature"] = "StopTradeSkillRepeat()",
  ["returns"] = {
  },
  ["desc"] = "Cancels a repeating tradeskill",
}
StrafeLeftStart = {
  ["arguments"] = {
  },
  ["name"] = "StrafeLeftStart",
  ["signature"] = "StrafeLeftStart()",
  ["returns"] = {
  },
  ["desc"] = "Makes the character start strafing left.",
}
StrafeLeftStop = {
  ["arguments"] = {
  },
  ["name"] = "StrafeLeftStop",
  ["signature"] = "StrafeLeftStop()",
  ["returns"] = {
  },
  ["desc"] = "Stops the character from strafing left.",
}
StrafeRightStart = {
  ["arguments"] = {
  },
  ["name"] = "StrafeRightStart",
  ["signature"] = "StrafeRightStart()",
  ["returns"] = {
  },
  ["desc"] = "Begins strafing to the right.",
}
StrafeRightStop = {
  ["arguments"] = {
  },
  ["name"] = "StrafeRightStop",
  ["signature"] = "StrafeRightStop()",
  ["returns"] = {
  },
  ["desc"] = "Stops the player from strafing right",
}
Stuck = {
  ["arguments"] = {
  },
  ["name"] = "Stuck",
  ["signature"] = "Stuck()",
  ["returns"] = {
  },
  ["desc"] = "",
}
SummonFriend = {
  ["name"] = "SummonFriend",
  ["signature"] = "SummonFriend()",
  ["desc"] = "internal",
}
SwapRaidSubgroup = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "index1",
      ["desc"] = "The raidid of the first unit",
    },
    {
      ["type"] = "unitid",
      ["name"] = "index2",
      ["desc"] = "The raidid of the second unit",
    },
  },
  ["name"] = "SwapRaidSubgroup",
  ["signature"] = "SwapRaidSubgroup(\"index1\", \"index2\")",
  ["returns"] = {
  },
  ["desc"] = "Swaps two players between groups in the raid",
}
TakeInboxItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "messageIndex",
      ["desc"] = "The index of the message",
    },
    {
      ["type"] = "number",
      ["name"] = "attachIndex",
      ["desc"] = "The index of the attachment",
    },
  },
  ["name"] = "TakeInboxItem",
  ["signature"] = "TakeInboxItem(messageIndex, attachIndex)",
  ["returns"] = {
  },
  ["desc"] = "Takes an attachment from an inbox item without confirmation",
}
TakeInboxMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the mail in the inbox",
    },
  },
  ["name"] = "TakeInboxMoney",
  ["signature"] = "TakeInboxMoney(index)",
  ["returns"] = {
  },
  ["desc"] = "Takes the money from the specified mail in the inbox",
}
TakeInboxTextItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The message index of the text item to retrieve",
    },
  },
  ["name"] = "TakeInboxTextItem",
  ["signature"] = "TakeInboxTextItem(index)",
  ["returns"] = {
  },
  ["desc"] = "Sends a request to the server to retrieve the given message's text item",
}
TakeTaxiNode = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "Taxi slot to take. (1 to NumTaxiNodes())",
    },
  },
  ["name"] = "TakeTaxiNode",
  ["signature"] = "TakeTaxiNode(slot)",
  ["returns"] = {
  },
  ["desc"] = "Take the indicated flightpath. This function is used when clicking a flightpath from a flightmaster.",
}
TargetLastEnemy = {
  ["arguments"] = {
  },
  ["name"] = "TargetLastEnemy",
  ["signature"] = "TargetLastEnemy(action)",
  ["returns"] = {
  },
  ["desc"] = "Re-targets the last targeted enemy unit",
}
TargetLastFriend = {
  ["arguments"] = {
  },
  ["name"] = "TargetLastFriend",
  ["signature"] = "TargetLastFriend(action)",
  ["returns"] = {
  },
  ["desc"] = "",
}
TargetLastTarget = {
  ["arguments"] = {
  },
  ["name"] = "TargetLastTarget",
  ["signature"] = "TargetLastTarget()",
  ["returns"] = {
  },
  ["desc"] = "Targets the last targeted unit",
}
TargetNearestEnemy = {
  ["arguments"] = {
  },
  ["name"] = "TargetNearestEnemy",
  ["signature"] = "TargetNearestEnemy()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TargetNearestFriend = {
  ["arguments"] = {
  },
  ["name"] = "TargetNearestFriend",
  ["signature"] = "TargetNearestFriend(1)",
  ["returns"] = {
  },
  ["desc"] = "",
}
TargetNearestPartyMember = {
  ["arguments"] = {
  },
  ["name"] = "TargetNearestPartyMember",
  ["signature"] = "TargetNearestPartyMember(action)",
  ["returns"] = {
  },
  ["desc"] = "",
}
TargetNearestRaidMember = {
  ["arguments"] = {
  },
  ["name"] = "TargetNearestRaidMember",
  ["signature"] = "TargetNearestRaidMember(action)",
  ["returns"] = {
  },
  ["desc"] = "",
}
TargetUnit = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to target",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to target",
        },
      },
    },
  },
  ["name"] = "TargetUnit",
  ["signature"] = "TargetUnit(\"unit\" or \"name\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the given unit as your target.  Passing nil will remove your target.  Can only be called from the blizzard UI.",
}
TaxiGetDestX = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "source",
      ["desc"] = "The source taxi node",
    },
    {
      ["type"] = "number",
      ["name"] = "dest",
      ["desc"] = "The destination taxi node",
    },
  },
  ["name"] = "TaxiGetDestX",
  ["signature"] = "dX = TaxiGetDestX(source, dest)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "dX",
      ["desc"] = "The X coordinate of the destination taxi node, relative to the width of the taxi frame",
    },
  },
  ["desc"] = "Returns the X coordinate of the destination texi node, relative to the taxi frame",
}
TaxiGetDestY = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "source",
      ["desc"] = "The source taxi node",
    },
    {
      ["type"] = "number",
      ["name"] = "dest",
      ["desc"] = "The destination taxi node",
    },
  },
  ["name"] = "TaxiGetDestY",
  ["signature"] = "dY = TaxiGetDestY(source, dest)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "dy",
      ["desc"] = "The Y coordinate of the destination taxi node, relative to the height of the taxi frame",
    },
  },
  ["desc"] = "Returns the y coordinate of the destination texi node, relative to the taxi frame",
}
TaxiGetSrcX = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "source",
      ["desc"] = "The source taxi node",
    },
    {
      ["type"] = "number",
      ["name"] = "dest",
      ["desc"] = "The destination taxi node",
    },
  },
  ["name"] = "TaxiGetSrcX",
  ["signature"] = "sX = TaxiGetSrcX(source, dest)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "sX",
      ["desc"] = "The X coordinate of the source taxi node, relative to the width of the taxi frame",
    },
  },
  ["desc"] = "Returns the x coordinate of the source texi node, relative to the taxi frame",
}
TaxiGetSrcY = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "source",
      ["desc"] = "The source taxi node",
    },
    {
      ["type"] = "number",
      ["name"] = "dest",
      ["desc"] = "The destination taxi node",
    },
  },
  ["name"] = "TaxiGetSrcY",
  ["signature"] = "sY  = TaxiGetSrcY(source, dest)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "sY",
      ["desc"] = "The Y coordinate of the source taxi node, relative to the height of the taxi frame",
    },
  },
  ["desc"] = "Returns the y coordinate of the source texi node, relative to the taxi frame",
}
TaxiNodeCost = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of a taxi node",
    },
  },
  ["name"] = "TaxiNodeCost",
  ["signature"] = "cost = TaxiNodeCost(slot)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "cost",
      ["desc"] = "The cost of flying to the given taxi node, in copper",
    },
  },
  ["desc"] = "Returns the cost to fly to a given taxi node",
}
TaxiNodeGetType = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "TaxiNode slot on the current Taxi Map. Between 1 and NumTaxiNodes().",
    },
  },
  ["name"] = "TaxiNodeGetType",
  ["signature"] = "type = TaxiNodeGetType(slot)",
  ["returns"] = {
    {
      ["name"] = "type",
      ["type"] = "string",
      ["values"] = {
        ["NONE"] = "Taxi Node not currently in use on the map.",
        ["CURRENT"] = "Your current location.",
        ["DISTANT"] = "Unreachable from your current taxi node.",
        ["REACHABLE"] = "Reachable directly from this node, or through other nodes.",
      },
      ["desc"] = "Type of the Taxi Node.",
    },
  },
  ["desc"] = "Returns the type of the Taxi Node slot requested.",
}
TaxiNodeName = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The index of a taxi node slot",
    },
  },
  ["name"] = "TaxiNodeName",
  ["signature"] = "name = TaxiNodeName(slot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the taxi node",
    },
  },
  ["desc"] = "Returns the name of a given taxi node slot",
}
TaxiNodePosition = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the taxi node",
    },
  },
  ["name"] = "TaxiNodePosition",
  ["signature"] = "x, y = TaxiNodePosition(index)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "x",
      ["desc"] = "The x coordinate of the taxi node in the taxi window, as a percentage of the width of the frame",
    },
    {
      ["type"] = "number",
      ["name"] = "y",
      ["desc"] = "The y coordinate of the taxi node in the taxi window, as a percentage of the height of the frame",
    },
  },
  ["desc"] = "Returns the position of a taxi node in the taxi window",
}
TaxiNodeSetCurrent = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The internal index of a flight path node",
    },
  },
  ["name"] = "TaxiNodeSetCurrent",
  ["signature"] = "TaxiNodeSetCurrent(slot)",
  ["returns"] = {
  },
  ["desc"] = "Sets the \"current\" flight path node to a specific index",
}
ToggleAutoRun = {
  ["arguments"] = {
  },
  ["name"] = "ToggleAutoRun",
  ["signature"] = "ToggleAutoRun()",
  ["returns"] = {
  },
  ["desc"] = "Turns on auto run",
}
ToggleCollision = {
  ["arguments"] = {
  },
  ["name"] = "ToggleCollision",
  ["signature"] = "ToggleCollision()",
  ["returns"] = {
  },
  ["desc"] = "",
}
ToggleCollisionDisplay = {
  ["arguments"] = {
  },
  ["name"] = "ToggleCollisionDisplay",
  ["signature"] = "ToggleCollisionDisplay()",
  ["returns"] = {
  },
  ["desc"] = "",
}
ToggleMouseMove = {
  ["arguments"] = {
  },
  ["name"] = "ToggleMouseMove",
  ["signature"] = "ToggleMouseMove()",
  ["returns"] = {
  },
  ["desc"] = "Toggles mouse movement",
}
TogglePVP = {
  ["arguments"] = {
  },
  ["name"] = "TogglePVP",
  ["signature"] = "TogglePVP()",
  ["returns"] = {
  },
  ["desc"] = "Toggles the player's PvP state.",
}
TogglePerformanceDisplay = {
  ["arguments"] = {
  },
  ["name"] = "TogglePerformanceDisplay",
  ["signature"] = "TogglePerformanceDisplay()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TogglePerformancePause = {
  ["name"] = "TogglePerformancePause",
  ["signature"] = "TogglePerformancePause()",
  ["desc"] = "",
}
TogglePerformanceValues = {
  ["arguments"] = {
  },
  ["name"] = "TogglePerformanceValues",
  ["signature"] = "TogglePerformanceValues()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TogglePetAutocast = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The pet's action slot",
    },
  },
  ["name"] = "TogglePetAutocast",
  ["signature"] = "TogglePetAutocast(index)",
  ["returns"] = {
  },
  ["desc"] = "Toggles autocast for a pet action",
}
TogglePlayerBounds = {
  ["arguments"] = {
  },
  ["name"] = "TogglePlayerBounds",
  ["signature"] = "TogglePlayerBounds()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TogglePortals = {
  ["arguments"] = {
  },
  ["name"] = "TogglePortals",
  ["signature"] = "TogglePortals()",
  ["returns"] = {
  },
  ["desc"] = "",
}
ToggleRun = {
  ["arguments"] = {
  },
  ["name"] = "ToggleRun",
  ["signature"] = "ToggleRun()",
  ["returns"] = {
  },
  ["desc"] = "Toggles between running and walking",
}
ToggleSheath = {
  ["arguments"] = {
  },
  ["name"] = "ToggleSheath",
  ["signature"] = "ToggleSheath()",
  ["returns"] = {
  },
  ["desc"] = "Sheaths or unsheaths the player's hand-held items",
}
ToggleSpellAutocast = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "spellId",
      ["desc"] = "The index of a spell in the spellbook",
    },
    {
      ["type"] = "string",
      ["name"] = "bookType",
      ["note"] = "There are currently no player spells that are capable of auto-cast, so this function is only used to toggle pet spells as autocast",
      ["values"] = {
        ["pet"] = "The pet's spellbook",
        ["spell"] = "The player's spellbook",
      },
      ["desc"] = "The type of spellbook",
    },
  },
  ["name"] = "ToggleSpellAutocast",
  ["signature"] = "ToggleSpellAutocast(spellId, \"bookType\")",
  ["returns"] = {
  },
  ["desc"] = "Toggles a spellbook spell as auto-cast",
}
ToggleTris = {
  ["arguments"] = {
  },
  ["name"] = "ToggleTris",
  ["signature"] = "ToggleTris()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TradeSkillOnlyShowMakeable = {
  ["arguments"] = {
    {
      ["type"] = "boolean",
      ["name"] = "filter",
      ["desc"] = "nil, false or 0 to disable the \"Have Materials\" filter, any other value will enable it",
    },
  },
  ["name"] = "TradeSkillOnlyShowMakeable",
  ["signature"] = "TradeSkillOnlyShowMakeable(filter)",
  ["returns"] = {
  },
  ["desc"] = "Enables or disables the \"Have Materials\" tradeskill filter",
}
TurnInArenaPetition = {
  ["arguments"] = {
    {
      ["name"] = "teamSize",
      ["type"] = "number",
      ["values"] = {
        [3] = "3v3",
        [2] = "2v2",
        [5] = "5v5",
      },
      ["desc"] = "The size of the arena team",
    },
    {
      ["type"] = "number",
      ["name"] = "bgColor.r",
      ["desc"] = "The red component of the background color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "bgColor.g",
      ["desc"] = "The green component of the background color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "bgColor.b",
      ["desc"] = "The blue component of the background color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "iconStyle",
      ["desc"] = "The number of the chosen icon",
    },
    {
      ["type"] = "number",
      ["name"] = "iconColor.r",
      ["desc"] = "The red component of the icon color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "iconColor.g",
      ["desc"] = "The green component of the icon color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "iconColor.b",
      ["desc"] = "The blue component of the icon color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "borderStyle",
      ["desc"] = "The number of the chosen border style",
    },
    {
      ["type"] = "number",
      ["name"] = "borderStyle.r",
      ["desc"] = "The red component of the border color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "borderStyle.g",
      ["desc"] = "The green component of the border color (0.0 - 1.0)",
    },
    {
      ["type"] = "number",
      ["name"] = "borderStyle.b",
      ["desc"] = "The blue component of the border color (0.0 - 1.0)",
    },
  },
  ["name"] = "TurnInArenaPetition",
  ["signature"] = "TurnInArenaPetition(teamSize, bgColor.r, bgColor.g, bgColor.b, iconStyle, iconColor.r, iconColor.g, iconColor.b, borderStyle, borderColor.r, borderColor.g, borderColor.b)",
  ["returns"] = {
  },
  ["desc"] = "Turns in an arena petition",
}
TurnInGuildCharter = {
  ["arguments"] = {
  },
  ["name"] = "TurnInGuildCharter",
  ["signature"] = "TurnInGuildCharter()",
  ["returns"] = {
  },
  ["desc"] = "Turns in a completed guild charter",
}
TurnInPetition = {
  ["arguments"] = {
  },
  ["name"] = "TurnInPetition",
  ["signature"] = "TurnInPetition()",
  ["returns"] = {
  },
  ["desc"] = "Deprecated",
}
TurnLeftStart = {
  ["arguments"] = {
  },
  ["name"] = "TurnLeftStart",
  ["signature"] = "TurnLeftStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TurnLeftStop = {
  ["arguments"] = {
  },
  ["name"] = "TurnLeftStop",
  ["signature"] = "TurnLeftStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TurnOrActionStart = {
  ["arguments"] = {
  },
  ["name"] = "TurnOrActionStart",
  ["signature"] = "TurnOrActionStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TurnOrActionStop = {
  ["arguments"] = {
  },
  ["name"] = "TurnOrActionStop",
  ["signature"] = "TurnOrActionStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TurnRightStart = {
  ["arguments"] = {
  },
  ["name"] = "TurnRightStart",
  ["signature"] = "TurnRightStart()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TurnRightStop = {
  ["arguments"] = {
  },
  ["name"] = "TurnRightStop",
  ["signature"] = "TurnRightStop()",
  ["returns"] = {
  },
  ["desc"] = "",
}
TutorialsEnabled = {
  ["arguments"] = {
  },
  ["name"] = "TutorialsEnabled",
  ["signature"] = "enabled = TutorialsEnabled()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "enabled",
      ["desc"] = "1 if tutorials are enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns the status of the tutorials, if they are enabled or not.",
}
UnSilenceMember = {
  ["arguments"] = {
  },
  ["name"] = "UnSilenceMember",
  ["signature"] = "UnSilenceMember",
  ["returns"] = {
  },
  ["desc"] = "",
}
UninviteUnit = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to un-invite.",
    },
  },
  ["name"] = "UninviteUnit",
  ["signature"] = "UninviteUnit(\"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Removes the specified unit from the current group.",
}
UnitAffectingCombat = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to query",
    },
  },
  ["name"] = "UnitAffectingCombat",
  ["signature"] = "inCombat = UnitAffectingCombat(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inCombat",
      ["desc"] = "1 if the unit is currently involved in combat, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit is currently in combat",
}
UnitArmor = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "unitId",
          ["desc"] = "The unitId to query, such as \"player\", \"target\" or \"raid10\"",
        },
        {
          ["type"] = "string",
          ["name"] = "unitName",
          ["desc"] = "The exact name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitArmor",
  ["signature"] = "base, effectiveArmor, armor, posBuff, negBuff = UnitArmor(unitId or \"unitName\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "base",
      ["desc"] = "The base armor for that unit, not counting buffs, but counting base armor from pieces of clothing.",
    },
    {
      ["type"] = "number",
      ["name"] = "effectiveArmor",
      ["desc"] = "The effective armor for that unit, counting buffs and base armor from pieces of clothing.",
    },
    {
      ["type"] = "number",
      ["name"] = "armor",
      ["desc"] = "The effective armor for that unit, counting buffs and base armor from pieces of clothing. It seems to always mirror the \"effectiveArmor\" return from this same function.",
    },
    {
      ["type"] = "number",
      ["name"] = "posBuff",
      ["desc"] = "Any positive armor gained from buffs, this gets added to \"base\" to form \"effectiveArmor\".",
    },
    {
      ["type"] = "number",
      ["name"] = "negBuff",
      ["desc"] = "Any negative armor lost from debuffs, this gets added to \"base\" to form \"effectiveArmor\".",
    },
  },
  ["desc"] = "This function returns the current ammount of armor and its breakdown between base armor and positive and degative additions due to buffs and debuffs.",
}
UnitAttackBothHands = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitAttackBothHands",
  ["signature"] = "mainHandAttackBase, mainHandAttackMod, offHandAttackBase, offHandAttackMod = UnitAttackBothHands(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "mainHandAttackBase",
      ["desc"] = "The base weapon skill for the type of weapon equipped in the main hand",
    },
    {
      ["type"] = "number",
      ["name"] = "mainHandAttackMod",
      ["desc"] = "Any modifiers to the weapon skill for the type of weapon equipped in the main hand",
    },
    {
      ["type"] = "number",
      ["name"] = "offHandHandAttackBase",
      ["desc"] = "The base weapon skill for the type of weapon equipped in the offhand",
    },
    {
      ["type"] = "number",
      ["name"] = "offHandAttackMod",
      ["desc"] = "Any modifiers to the weapon skill for the type of weapon equipped in the offhand",
    },
  },
  ["desc"] = "Returns information about a unit's weapon skill",
}
UnitAttackPower = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The unit to get information from. (Does not work for 'target')",
    },
  },
  ["name"] = "UnitAttackPower",
  ["signature"] = "base, posBuff, negBuff = UnitAttackPower(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "base",
      ["desc"] = "The unit's base attack power",
    },
    {
      ["type"] = "number",
      ["name"] = "posBuff",
      ["desc"] = "The total effect of positive buffs to attack power",
    },
    {
      ["type"] = "number",
      ["name"] = "negBuff",
      ["desc"] = "The total effect of negative buffs to attack power",
    },
  },
  ["desc"] = "Returns the unit's melee attack power and modifiers",
}
UnitAttackSpeed = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unitId to query",
    },
  },
  ["name"] = "UnitAttackSpeed",
  ["signature"] = "speed, offhandSpeed  = UnitAttackSpeed(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "speed",
      ["desc"] = "The speed of the mainhand attack",
    },
    {
      ["type"] = "number",
      ["name"] = "oddhandSpeed",
      ["desc"] = "The speed of the offhand attack",
    },
  },
  ["desc"] = "Returns the mainhand and offhand attack speed of the given unit",
}
UnitAura = {
  ["name"] = "UnitAura",
  ["signature"] = "name, rank, icon, count, debuffType, duration, expirationTime, isMine, isStealable = UnitAura(\"unit\", [index] or [\"name\", \"rank\"][, \"filter\"]) ",
  ["desc"] = "",
}
UnitBuff = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
        {
          ["type"] = "1nil",
          ["name"] = "filter",
          ["desc"] = "1 to filter only buffs that can be cast by the player, otherwise nil",
        },
      },
    },
  },
  ["name"] = "UnitBuff",
  ["signature"] = "name, rank, icon, count, duration, timeLeft  = UnitBuff(\"unit\", index [,filter])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the buff",
    },
    {
      ["type"] = "string",
      ["name"] = "rank",
      ["desc"] = "The rank of the buff",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the buff's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "The number of stacks of the buff",
    },
    {
      ["type"] = "number",
      ["name"] = "duration",
      ["desc"] = "The full duration of the buff, in seconds",
    },
    {
      ["type"] = "number",
      ["name"] = "timeLeft",
      ["desc"] = "The amount of time left on the buff, in seconds",
    },
  },
  ["desc"] = "Returns information about a buff on a given unit or player",
}
UnitCanAssist = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The first unitid to query",
    },
    {
      ["type"] = "unitid",
      ["name"] = "otherUnit",
      ["desc"] = "The second unitid to query",
    },
  },
  ["name"] = "UnitCanAssist",
  ["signature"] = "canAssist = UnitCanAssist(\"unit\", \"otherUnit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canAssist",
      ["desc"] = "1 if the first unit can assist the second, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not one unit can assist another",
}
UnitCanAttack = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit that would be attacking",
    },
    {
      ["type"] = "unitid",
      ["name"] = "otherUnit",
      ["desc"] = "The unit that would be attacked",
    },
  },
  ["name"] = "UnitCanAttack",
  ["signature"] = "canAttack = UnitCanAttack(\"unit\", \"otherUnit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canAttack",
      ["desc"] = "1 if the first unit can attack the second unit, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not one unit can attack another unit",
}
UnitCanCooperate = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid of the first unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullName",
          ["desc"] = "The full name of the first unit to query (for people in your own group only)",
        },
      },
    },
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid of the second unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullName",
          ["desc"] = "The full name of the second unit to query (for people in your own group only)",
        },
      },
    },
  },
  ["name"] = "UnitCanCooperate",
  ["signature"] = "canCooperate = UnitCanCooperate(\"unit\" or \"fullName\", \"otherUnit\" or \"fullName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "canCooperate",
      ["desc"] = "1 if the two units can cooperate with each other, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the two given units can cooperate with each other",
}
UnitCastingInfo = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitCastingInfo",
  ["signature"] = "name, nameSubtext, text, texture, startTime, endTime, isTradeSkill  = UnitCastingInfo(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell being cast",
    },
    {
      ["type"] = "string",
      ["name"] = "nameSubtext",
      ["desc"] = "The rank of the spell being cast, or other sub-text",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text to be displayed",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the spell icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "startTime",
      ["desc"] = "The time the cast was started, in millisecond precision",
    },
    {
      ["type"] = "number",
      ["note"] = "The difference between startTime and endTime is the cast time of the spell",
      ["name"] = "endTime",
      ["desc"] = "The time the cast will be finished, in millisecond precision",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isTradeSkill",
      ["desc"] = "1 if the spell being cast is a tradeskill, otherwise nil.",
    },
  },
  ["desc"] = "Returns information about the spell a unit is casting.",
}
UnitChannelInfo = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitChannelInfo",
  ["signature"] = "name, nameSubtext, text, texture, startTime, endTime, isTradeSkill = UnitChannelInfo(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the spell being cast",
    },
    {
      ["type"] = "string",
      ["name"] = "nameSubtext",
      ["desc"] = "The rank of the spell being cast, or other sub-text",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text to be displayed",
    },
    {
      ["type"] = "string",
      ["name"] = "texture",
      ["desc"] = "The path to the spell icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "startTime",
      ["desc"] = "The time the cast was started, in millisecond precision",
    },
    {
      ["type"] = "number",
      ["note"] = "The difference between startTime and endTime is the cast time of the spell",
      ["name"] = "endTime",
      ["desc"] = "The time the cast will be finished, in millisecond precision",
    },
    {
      ["type"] = "1nil",
      ["name"] = "isTradeSkill",
      ["desc"] = "1 if the spell being cast is a tradeskill, otherwise nil.",
    },
  },
  ["desc"] = "Returns information about the spell a unit channeling.",
}
UnitCharacterPoints = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit of interest",
    },
  },
  ["name"] = "UnitCharacterPoints",
  ["signature"] = "talentPoints, professionSlots = UnitCharacterPoints(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "talentPoints",
      ["desc"] = "The number unspent talent points for the unit",
    },
    {
      ["type"] = "number",
      ["name"] = "professionSlots",
      ["desc"] = "The number of available main profession slots for the unit",
    },
  },
  ["desc"] = "Returns the number of unused talent points and profession slots for the given unit",
}
UnitClass = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitClass",
  ["signature"] = "class, englishClass  = UnitClass(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The localized name of the queried unit's class",
    },
    {
      ["type"] = "string",
      ["name"] = "englishClass",
      ["desc"] = "The english name of the queried unit's class, as an uppercase string",
    },
  },
  ["desc"] = "Queries a unit's class",
}
UnitClassBase = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitClassBase",
  ["signature"] = "class, englishClass  = UnitBaseClass(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "class",
      ["desc"] = "The localized name of the queried unit's class",
    },
    {
      ["type"] = "string",
      ["name"] = "englishClass",
      ["desc"] = "The english name of the queried unit's class, as an uppercase string",
    },
  },
  ["desc"] = "Queries a unit's class",
}
UnitClassification = {
  ["arguments"] = {
    {
      ["type"] = "unitID",
      ["name"] = "unit",
      ["desc"] = "Unit to query.",
    },
  },
  ["name"] = "UnitClassification",
  ["signature"] = "classification = UnitClassification(\"unit\")",
  ["returns"] = {
    {
      ["name"] = "classification",
      ["type"] = "string",
      ["values"] = {
        ["elite"] = "Elite",
        ["normal"] = "Normal",
        ["worldboss"] = "World Boss",
        ["rareelite"] = "Rare-Elite",
        ["rare"] = "Rare",
      },
      ["desc"] = "Classification of the queried unit.",
    },
  },
  ["desc"] = "Returns a classification indicator for the queried unit.",
}
UnitCreatureFamily = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitCreatureFamily",
  ["signature"] = "family = UnitCreatureFamily(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "family",
      ["desc"] = "The creature family of the unit (\"Humanoid\", \"Dragonkin\" etc.)",
    },
  },
  ["desc"] = "Returns the creature family of the given unit",
}
UnitCreatureType = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitCreatureType",
  ["signature"] = "type = UnitCreatureType(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "type",
      ["desc"] = "The creature type of the unit (such as Humanoid, Demon, Beast, etc.)",
    },
  },
  ["desc"] = "Returns the creature type of a given unit",
}
UnitDamage = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "UnitID to get information for.",
    },
  },
  ["name"] = "UnitDamage",
  ["signature"] = "minDamage, maxDamage, minOffHandDamage, maxOffHandDamage, physicalBonusPos, physicalBonusNeg, percent  = UnitDamage(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "minDamage",
      ["desc"] = "The unit's minimum melee damage",
    },
    {
      ["type"] = "number",
      ["name"] = "maxDamage",
      ["desc"] = "The unit's maximum melee damage",
    },
    {
      ["type"] = "number",
      ["name"] = "minOffHandDamage",
      ["desc"] = "The unit's minimum offhand melee damage",
    },
    {
      ["type"] = "number",
      ["name"] = "maxOffHandDamage",
      ["desc"] = "The unit's maximum offhand melee damage",
    },
    {
      ["type"] = "number",
      ["name"] = "physicalBonusPos",
      ["desc"] = "Positive physical bonus (should be >= 0)",
    },
    {
      ["type"] = "number",
      ["name"] = "physicalBonusNeg",
      ["desc"] = "Negative physical bonus (should be <= 0)",
    },
    {
      ["type"] = "number",
      ["name"] = "percent",
      ["desc"] = "Percentage modifier. Usually 1; 0.9 for warriors in defensive stance",
    },
  },
  ["desc"] = "Unit Damage returns information about your current damage stats.",
}
UnitDebuff = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The buff index to query for the given unit",
    },
    {
      ["type"] = "1nil",
      ["name"] = "dispelOnly",
      ["values"] = {
        ["1"] = "Show only debuffs the player can dispel",
        ["nil"] = "Show all debuffs",
      },
      ["optional"] = true,
      ["desc"] = "Only show those debuffs which can be dispelled by the player",
    },
  },
  ["name"] = "UnitDebuff",
  ["signature"] = "name, rank, icon, debuffStack, debuffType, duration, timeLeft = UnitDebuff(\"unit\", index [,dispelOnly])",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the debuff in the current locale",
    },
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "The rank of the debuff, or the empty string",
    },
    {
      ["type"] = "string",
      ["name"] = "icon",
      ["desc"] = "The path to the debuff's icon texture",
    },
    {
      ["type"] = "number",
      ["name"] = "debuffStack",
      ["desc"] = "The amount of times the given debuff has stacked, or how many charges are left",
    },
    {
      ["name"] = "debuffType",
      ["type"] = "string",
      ["values"] = {
        "Magic",
        "Poison",
        "Disease",
        "Curse",
      },
      ["desc"] = "The type of the debuff if specified, or nil",
    },
    {
      ["type"] = "number",
      ["note"] = "This is only returned if the player was the one who caused the debuff",
      ["name"] = "duration",
      ["desc"] = "The full duration of the debuff, in seconds",
    },
    {
      ["type"] = "number",
      ["note"] = "This is only returned if the player was the one who caused the debuff",
      ["name"] = "timeLeft",
      ["desc"] = "The amount of time left on the debuff, in seconds",
    },
  },
  ["desc"] = "Returns information about a debuff on a given unit.",
}
UnitDefense = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitDefense",
  ["signature"] = "base, modifier = UnitDefense(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "base",
      ["desc"] = "Base defense.",
    },
    {
      ["type"] = "number",
      ["name"] = "modifier",
      ["desc"] = "Defense modifier from gear and buffs.",
    },
  },
  ["desc"] = "Returns the units defense statistics.",
}
UnitExists = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The full name of a unit to query",
        },
      },
    },
  },
  ["name"] = "UnitExists",
  ["signature"] = "exists = UnitExists(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "exists",
      ["desc"] = "1 if the unit exists, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given unit exists",
}
UnitFactionGroup = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The full name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitFactionGroup",
  ["signature"] = "factionEnglish, factionLocale = UnitFactionGroup(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "factionEnglish",
      ["desc"] = "English faction name (Horde/Alliance) of the unit.",
    },
    {
      ["type"] = "string",
      ["name"] = "factionLocale",
      ["desc"] = "Faction name (Horde/Alliance) of the units faction in current gamelocale.",
    },
  },
  ["desc"] = "Gives information about the units faction in english and the gamelocale. Returns nil when not available.",
}
UnitGUID = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitGUID",
  ["signature"] = "guid = UnitGUID(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "guid",
      ["desc"] = "The desired GUID",
    },
  },
  ["desc"] = "Returns the given unit's globally unique identifier",
}
UnitHasRelicSlot = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitHasRelicSlot",
  ["signature"] = "hasRelic = UnitHasRelicSlot(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "hasRelic",
      ["desc"] = "1 if the unit has a relic slot, nil if not.",
    },
  },
  ["desc"] = "Returns whether or not the queried unit has a relic slot.",
}
UnitHealth = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitHealth",
  ["signature"] = "health = UnitHealth(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "health",
      ["desc"] = "The amount of health the unit currently has.  If the unit is not a member of your party or raid, this value will be given as a percentage (i.e. between 0-100).",
    },
  },
  ["desc"] = "Returns the amount of health the unit has.",
}
UnitHealthMax = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitHealthMax",
  ["signature"] = "maxValue  = UnitHealthMax(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "maxValue",
      ["desc"] = "The maximum health value for the given unit.  If the unit is not the player, the player's pet, or a member of the player's party or raid, the values returned will be in terms of percentage (i.e. will always return 100 for maxValue.",
    },
  },
  ["desc"] = "Returns the maximum health value for a given unit",
}
UnitInBattleground = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitInBattleground",
  ["signature"] = "raidNum = UnitInBattleground(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "raidNum",
      ["desc"] = "The raid index of the unit in your battleground, or nil.",
    },
  },
  ["desc"] = "Returns whether or not a unit is in the player's battleground",
}
UnitInParty = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit to query for party membership",
    },
  },
  ["name"] = "UnitInParty",
  ["signature"] = "inParty = UnitInParty(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inParty",
      ["desc"] = "1 if the unit is in the player's party, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not a given unit is in the player's party.",
}
UnitInRaid = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid of the unit to query",
    },
  },
  ["name"] = "UnitInRaid",
  ["signature"] = "inRaid  = UnitInRaid(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "inRaid",
      ["desc"] = "Will return 1 if the unit is in your raid group, otherwise nil",
    },
  },
  ["desc"] = "Returns whether the unit specified is in your raid group",
}
UnitInRange = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "\"unit\"",
      ["desc"] = "The target unit (must be in your party or raid)",
    },
  },
  ["name"] = "UnitInRange",
  ["signature"] = "isInRange = UnitInRange(\"unit\")",
  ["desc"] = "Returns whether the given raid or party member is in range of your most useful spells",
}
UnitIsAFK = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The full name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsAFK",
  ["signature"] = "isAFK = UnitIsAFK(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isAFK",
      ["desc"] = "1 if the given unit is AFK, otherwise nil",
    },
  },
  ["desc"] = "Query a unit's AFK status.",
}
UnitIsCharmed = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The full name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsCharmed",
  ["signature"] = "isCharmed = UnitIsCharmed(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCharmed",
      ["desc"] = "1 if the given unit is charmed, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit or player is currently charmed.",
}
UnitIsConnected = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of a player to query",
        },
      },
    },
  },
  ["name"] = "UnitIsConnected",
  ["signature"] = "isConnected = UnitIsConnected(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isConnected",
      ["desc"] = "1 if the player is connected, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit or player is connect (i.e. not Offline)",
}
UnitIsCorpse = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitIsCorpse",
  ["signature"] = "isCorpse = UnitIsCorpse(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isCorpse",
      ["desc"] = "1 if the unit is a corpse, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is a corpse",
}
UnitIsDND = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitIsDND",
  ["signature"] = "isDND = UnitIsDND(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDND",
      ["desc"] = "1 if the unit is flagged Do Not Disturb, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit is flagged DND",
}
UnitIsDead = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "A unitId to query",
    },
  },
  ["name"] = "UnitIsDead",
  ["signature"] = "isDead = UnitIsDead(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDead",
      ["desc"] = "1 if the unit is dead, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is dead",
}
UnitIsDeadOrGhost = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The full name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitIsDeadOrGhost",
  ["signature"] = "isDeadOrGhost = UnitIsDeadOrGhost(\"unit\" or \"fullname\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDeadOrGhost",
      ["desc"] = "1 if the player is dead or a ghost, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given player is either dead or a ghost",
}
UnitIsEnemy = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "UnitID of the first target",
    },
    {
      ["type"] = "string",
      ["name"] = "otherUnit",
      ["desc"] = "UnitID of the second target",
    },
  },
  ["name"] = "UnitIsEnemy",
  ["signature"] = "isEnemy = UnitIsEnemy(\"unit\", \"otherUnit\")",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isEnemy",
      ["desc"] = "true if the specified units are enemies, false otherwise",
    },
  },
  ["desc"] = "Returns true or false depending on whether the specified units are enemies or not",
}
UnitIsFeignDeath = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitIsFeignDeath",
  ["signature"] = "isFeign = UnitIsFeignDeath(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isFeign",
      ["desc"] = "1 if the unit is feigning death, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given unit is feigning death",
}
UnitIsFriend = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The first unit to query",
    },
    {
      ["type"] = "unitid",
      ["name"] = "otherUnit",
      ["desc"] = "The second unit to query",
    },
  },
  ["name"] = "UnitIsFriend",
  ["signature"] = "isFriend = UnitIsFriend(\"unit\", \"otherUnit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isFriends",
      ["desc"] = "1 if the two units are friends, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not two units are friendly",
}
UnitIsGhost = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullname",
          ["desc"] = "The full name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsGhost",
  ["signature"] = "isGhost = UnitIsGhost(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isGhost",
      ["desc"] = "1 if the given unit is a ghost, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit or player is currently a ghost",
}
UnitIsInMyGuild = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitId to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitIsInMyGuild",
  ["signature"] = "inGuild = UnitIsInMyGuild(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inGuild",
      ["desc"] = "1 if the unit is in the player's guild, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given unit or player is in the player's guild",
}
UnitIsPVP = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitIsPVP",
  ["signature"] = "isPVP = UnitIsPVP(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPVP",
      ["desc"] = "1 if the unit is PVP enabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit is PVP enabled",
}
UnitIsPVPFreeForAll = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid of the unit to query",
    },
  },
  ["name"] = "UnitIsPVPFreeForAll",
  ["signature"] = "isFreeForAll = UnitIsPVPFreeForAll(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "boolean",
      ["name"] = "isFreeForAll",
      ["desc"] = "Whether the unit is flagged for free-for-all PVP",
    },
  },
  ["desc"] = "Returns whether the unit is flagged for free-for-all PVP, EG in a world Arena",
}
UnitIsPVPSanctuary = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to query.",
    },
  },
  ["name"] = "UnitIsPVPSanctuary",
  ["signature"] = "state = UnitIsPVPSanctuary(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "state",
      ["desc"] = "1 if the unit is in a PVP Sanctuary, nil otherwise.",
    },
  },
  ["desc"] = "Returns 1 if the unit in question is in a PVP sanctuary, nil otherwise.",
}
UnitIsPartyLeader = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitId",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The full name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsPartyLeader",
  ["signature"] = "leader = UnitIsPartyLeader(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "leader",
      ["desc"] = "1 if the unit is the party leader, nil otherwise",
    },
  },
  ["desc"] = "Returns 1 if the specified unit is the leader of the players party.",
}
UnitIsPlayer = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitIsPlayer",
  ["signature"] = "isPlayer = UnitIsPlayer(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPlayer",
      ["desc"] = "1 if the unit is the player, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given unit is the player's unit",
}
UnitIsPlusMob = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitIsPlusMob",
  ["signature"] = "isPlus = UnitIsPlusMob(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPlus",
      ["desc"] = "1 if the unit is an elite mob, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is an elite mob",
}
UnitIsPossessed = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullName",
          ["desc"] = "The name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsPossessed",
  ["signature"] = "isPossessed = UnitIsPossessed(\"unit\" or \"fullName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPossessed",
      ["desc"] = "1 if the given unit is possessed, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not the given unit is possessed (through for example Mind Control)",
}
UnitIsRaidOfficer = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "fullName",
          ["desc"] = "The full name of the unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsRaidOfficer",
  ["signature"] = "isOfficer = UnitIsRaidOfficer(\"unit\" or \"fullName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isOfficer",
      ["desc"] = "1 if the given unit is an officer in the raid, nil otherwise",
    },
  },
  ["desc"] = "Returns whether or not the given unit is an officer in the raid",
}
UnitIsSameServer = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The first unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "unitName",
          ["desc"] = "The name of the first unit to query",
        },
      },
    },
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "otherUnit",
          ["desc"] = "The second unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "otherUnitName",
          ["desc"] = "The name of the second unit to query",
        },
      },
    },
  },
  ["name"] = "UnitIsSameServer",
  ["signature"] = "isSame = UnitIsSameServer(\"unit\" or \"unitName\", \"otherUnit\" or \"otherUnitName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSame",
      ["desc"] = "1 if the two units are from the same server, otherwise nil.",
    },
  },
  ["desc"] = "Returns whether or not two units are from the same server",
}
UnitIsSilenced = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the player to query",
    },
    {
      ["type"] = "string",
      ["name"] = "channel",
      ["desc"] = "Channel to query for voice status.",
    },
  },
  ["name"] = "UnitIsSilenced",
  ["signature"] = "silenced = UnitIsSilenced(name\", \"channel\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "silenced",
      ["desc"] = "1 if the unit is silenced on this channel, nil if not.",
    },
  },
  ["desc"] = "Returns whether or not the player is silenced on the specified voice channel.",
}
UnitIsTalking = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the unit in question.",
    },
  },
  ["name"] = "UnitIsTalking",
  ["signature"] = "state = UnitIsTalking(\"name\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "state",
      ["desc"] = "1 if the unit is currently talking, otherwise nil.",
    },
  },
  ["desc"] = "Returns 1 if the unit is currently talking, or nil otherwise.",
}
UnitIsTapped = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitIsTapped",
  ["signature"] = "isTapped = UnitIsTapped(\"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Returns whether or not a unit is tapped by anyone (not necessarily the player)",
}
UnitIsTappedByPlayer = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The unit to be queried",
    },
  },
  ["name"] = "UnitIsTappedByPlayer",
  ["signature"] = "isTapped = UnitIsTappedByPlayer(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isTapped",
      ["desc"] = "1 if the unit is tapped by the player, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a unit is tapped by the player or their group.",
}
UnitIsTrivial = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitIsTrivial",
  ["signature"] = "isTrivial = UnitIsTrivial(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isTrivial",
      ["desc"] = "1 if the unit is considered trivial, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is trivial",
}
UnitIsUnit = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The first unitId to compare",
    },
    {
      ["type"] = "unitId",
      ["name"] = "otherUnit",
      ["desc"] = "The second unitId to compare",
    },
  },
  ["name"] = "UnitIsUnit",
  ["signature"] = "isSame  = UnitIsUnit(\"unit\", \"otherUnit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isSame",
      ["desc"] = "Returns 1 if the units refer to the same character, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not two unitIds refer to the same actual character.",
}
UnitIsVisible = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitIsVisible",
  ["signature"] = "isVisible = UnitIsVisible(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isVisible",
      ["desc"] = "1 if the unit is visible, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is visible (in the player's area of interest)",
}
UnitLevel = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitLevel",
  ["signature"] = "level = UnitLevel(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "level",
      ["desc"] = "The level of the unit.  If the level is unknown (due to it being too high) this will return -1.",
    },
  },
  ["desc"] = "Returns the level of a given unit",
}
UnitMana = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unit of interest",
    },
  },
  ["name"] = "UnitMana",
  ["signature"] = "mana = UnitMana(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "unitId",
      ["name"] = "mana",
      ["desc"] = "The unit's current mana points",
    },
  },
  ["desc"] = "Returns the current mana points of the given unit",
}
UnitManaMax = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unit to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player, the player's pet, or a member of the player's party or raid",
        },
      },
    },
  },
  ["name"] = "UnitManaMax",
  ["signature"] = "maxValue = UnitManaMax(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "maxValue",
      ["desc"] = "The maximum amount of mana (or other power) the unit can have.  If the unit is not a member of the player's party or raid this function will always return 100 (since it operates in percentage values).  This function is used for Mana, Energy, Focus and Rage.",
    },
  },
  ["desc"] = "Returns the maximum mana or other power that a given unit can have",
}
UnitName = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitName",
  ["signature"] = "name = UnitName(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the unit",
    },
  },
  ["desc"] = "Returns the name of a given unit",
}
UnitOnTaxi = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The unit to query.  This only seems to work for \"player\".",
    },
  },
  ["name"] = "UnitOnTaxi",
  ["signature"] = "onTaxi = UnitOnTaxi(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "onTaxi",
      ["desc"] = "1 if the unit is on a taxi, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not a given unit is on a taxi",
}
UnitPVPName = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
  },
  ["name"] = "UnitPVPName",
  ["signature"] = "name = UnitPVPName(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the unit with the selected PVP title prepended to it",
    },
  },
  ["desc"] = "Returns the name of the unit with the selected PVP title prepended to it",
}
UnitPVPRank = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitPVPRank",
  ["signature"] = "rank = UnitPVPRank(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "rank",
      ["desc"] = "The numeric PVP rank of the unit.  If the unit has no PVP rank, this returns 0.",
    },
  },
  ["desc"] = "Returns a unit's PVP rank as a number",
}
UnitPlayerControlled = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitPlayerControlled",
  ["signature"] = "isPlayer = UnitPlayerControlled(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isPlayer",
      ["desc"] = "1 if the unit is a player controlled character, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the given unit is a player controlled character",
}
UnitPlayerOrPetInParty = {
  ["arguments"] = {
    {
      ["group"] = "choices",
      ["choices"] = {
        {
          ["type"] = "string",
          ["name"] = "unitId",
          ["desc"] = "The unitId of the unit you're trying to query, like \"party1\", \"raid10pet\" or \"PlayerName-target\".",
        },
        {
          ["type"] = "string",
          ["name"] = "unitName",
          ["desc"] = "The full name of the unit you're trying to query. Capitalization is not important.",
        },
      },
    },
  },
  ["name"] = "UnitPlayerOrPetInParty",
  ["signature"] = "inParty = UnitPlayerOrPetInParty(\"unitId\" or \"unitName\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "inParty",
      ["desc"] = "1 if the unit, player or pet is in the party, otherwise nil.",
    },
  },
  ["desc"] = "This function will tell you if the unit in question is in your party.",
}
UnitPlayerOrPetInRaid = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitPlayerOrPetInRaid",
  ["signature"] = "inRaid = UnitPlayerOrPetInRaid(\"unit\")",
  ["returns"] = {
  },
  ["desc"] = "Returns whether or not a given unitid is a member of the player's raid",
}
UnitPowerType = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitPowerType",
  ["signature"] = "powerType = UnitPowerType(\"unit\")",
  ["returns"] = {
    {
      ["name"] = "powerType",
      ["type"] = "number",
      ["values"] = {
        "Mana",
        "Rage",
        "Focus",
        "Energy",
        "Happiness",
      },
      ["desc"] = "A number indicating what power type the unit has",
    },
  },
  ["desc"] = "Returns the power type (energy, mana, rage) of the given unit",
}
UnitRace = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitRace",
  ["signature"] = "race, fileName = UnitRace(unit or name)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "race",
      ["desc"] = "The localized name of the queried unit's race",
    },
    {
      ["type"] = "string",
      ["name"] = "fileName",
      ["desc"] = "The english name of the queried unit's race, as used in the various artwork files.",
    },
  },
  ["desc"] = "Retrieves the units race.",
}
UnitRaceBase = {
  ["arguments"] = {
    {
      ["group"] = "choice",
      ["choices"] = {
        {
          ["type"] = "unitid",
          ["name"] = "unit",
          ["desc"] = "The unitid to query",
        },
        {
          ["type"] = "string",
          ["name"] = "name",
          ["desc"] = "The name of the player to query",
        },
      },
    },
  },
  ["name"] = "UnitRaceBase",
  ["signature"] = "race, fileName = UnitRace(unit or name)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "race",
      ["desc"] = "The localized name of the queried unit's race",
    },
    {
      ["type"] = "string",
      ["name"] = "fileName",
      ["desc"] = "The english name of the queried unit's race, as used in the various artwork files.",
    },
  },
  ["desc"] = "Retrieves the unit's race",
}
UnitRangedAttack = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query.",
    },
  },
  ["name"] = "UnitRangedAttack",
  ["signature"] = "rangedAttackBase, rangedAttackMod = UnitRangedAttack(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "rangedAttackBase",
      ["desc"] = "The base ranged weapon skill",
    },
    {
      ["type"] = "number",
      ["name"] = "rangedAttackMod",
      ["desc"] = "Any modifiers to the base ranged weapon skill",
    },
  },
  ["desc"] = "Returns a unit's ranged weapon skill",
}
UnitRangedAttackPower = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query.  Only \"player\" and \"pet\" or their equivalents are valid",
    },
  },
  ["name"] = "UnitRangedAttackPower",
  ["signature"] = "base, posBuff, negBuff  = UnitRangedAttackPower(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "base",
      ["desc"] = "Base ranged attack power",
    },
    {
      ["type"] = "number",
      ["name"] = "posBuff",
      ["desc"] = "Positive buffs to ranged attack power",
    },
    {
      ["type"] = "number",
      ["name"] = "negBuff",
      ["desc"] = "Negative buffs to ranged attack power",
    },
  },
  ["desc"] = "Returns a unit's ranged attack power and bonuses",
}
UnitRangedDamage = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unit to query",
    },
  },
  ["name"] = "UnitRangedDamage",
  ["signature"] = "rangedAttackSpeed, minDamage, maxDamage, physicalBonusPos, physicalBonusNeg, percent = UnitRangedDamage(\"unit\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "rangedAttackSpeed",
      ["desc"] = "The speed of the unit's ranged attack, or 0 if no ranged weapon is equipped",
    },
    {
      ["type"] = "number",
      ["name"] = "minDamage",
      ["desc"] = "The minimum base damage per attack",
    },
    {
      ["type"] = "number",
      ["name"] = "maxDamage",
      ["desc"] = "The maximum base damage per attack",
    },
    {
      ["type"] = "number",
      ["name"] = "physicalBonusPos",
      ["desc"] = "The amount of bonus physical damage, includes Spell Damage bonuses",
    },
    {
      ["type"] = "number",
      ["name"] = "physicalBonusNeg",
      ["desc"] = "The amount of negative modifiers to physical damage",
    },
    {
      ["type"] = "number",
      ["name"] = "percent",
      ["desc"] = "A percentage modifier, represented as decimal 0 to 1",
    },
  },
  ["desc"] = "Returns information about a unit's range attack damage and speed",
}
UnitReaction = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The source unitid",
    },
    {
      ["type"] = "unitid",
      ["name"] = "otherUnit",
      ["desc"] = "The destination unitid",
    },
  },
  ["name"] = "UnitReaction",
  ["signature"] = "reaction = UnitReaction(\"unit\", \"otherUnit\")",
  ["returns"] = {
    {
      ["name"] = "reaction",
      ["type"] = "number",
      ["values"] = {
        "Hated",
        "Hostile",
        "Unfriendly",
        "Neutral",
        "Friendly",
        "Honored",
        "Revered",
        "Exalted",
      },
      ["desc"] = "The reaction of the source unit with regards to the destination unit.  This reaction corresponds directly to faction level.",
    },
  },
  ["desc"] = "Returns the reaction of one unit with regards to another as a number",
}
UnitResistance = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
    {
      ["name"] = "resistanceIndex",
      ["type"] = "number",
      ["values"] = {
        "Physical",
        "Fire",
        "Nature",
        "Frost",
        "Shadow",
        "Arcane",
      },
      ["desc"] = "Resistance to get data on",
    },
  },
  ["name"] = "UnitResistance",
  ["signature"] = "base, resistance, positive, negative  = UnitResistance(\"unit\", resistanceIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "base",
      ["desc"] = "Base resistance value, for players their racial modifier.",
    },
    {
      ["type"] = "number",
      ["name"] = "resistance",
      ["desc"] = "Current resistance with all modifiers applied.",
    },
    {
      ["type"] = "number",
      ["name"] = "positive",
      ["desc"] = "Positieve resistance modifiers.",
    },
    {
      ["type"] = "number",
      ["name"] = "negative",
      ["desc"] = "Negative resistance modifiers.",
    },
  },
  ["desc"] = "Returns resistance information for a specific resistance for a unit ID. Returns 0,0,0,0 for non-existing or disallowed units.",
}
UnitSex = {
  ["arguments"] = {
    {
      ["type"] = "unitId",
      ["name"] = "unit",
      ["desc"] = "The unitId to query",
    },
    {
      ["type"] = "string",
      ["note"] = "This function does not have an exact parameter like some others, so it will match the closest name to your input.",
      ["name"] = "name",
      ["desc"] = "The name of a player to query.",
    },
  },
  ["name"] = "UnitSex",
  ["signature"] = "gender  = UnitSex(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["value"] = {
        "Unknown",
        "Male",
        "Female",
      },
      ["type"] = "number",
      ["name"] = "gender",
      ["desc"] = "The gender of the unit or player",
    },
  },
  ["desc"] = "Returns the gender of the given unit or player",
}
UnitStat = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query",
    },
    {
      ["name"] = "statIndex",
      ["type"] = "number",
      ["values"] = {
        "Strength",
        "Agility",
        "Stamina",
        "Intellect",
        "Spirit",
      },
      ["desc"] = "The index of the stat to query",
    },
  },
  ["name"] = "UnitStat",
  ["signature"] = "stat, effectiveStat, posBuff, negBuff  = UnitStat(\"unit\", statIndex)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "stat",
      ["desc"] = "The current value of the stat",
    },
    {
      ["type"] = "number",
      ["name"] = "effectiveStat",
      ["desc"] = "The effective value of the stat (unused)",
    },
    {
      ["type"] = "number",
      ["name"] = "posBuff",
      ["desc"] = "The value of any positive buffs for the given stat",
    },
    {
      ["type"] = "number",
      ["name"] = "negBuff",
      ["desc"] = "The value of any negative buffs for the given stat",
    },
  },
  ["desc"] = "Returns information about a given character statistic (intellect, stamina, etc.)",
}
UnitXP = {
  ["arguments"] = {
    {
      ["type"] = "unitid",
      ["name"] = "unit",
      ["desc"] = "The unitid to query.",
    },
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The full name of the character to query",
    },
  },
  ["name"] = "UnitXP",
  ["signature"] = "currXP = UnitXP(\"unit\" or \"name\")",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "currXP",
      ["desc"] = "The amount of experience the unit currently has",
    },
  },
  ["desc"] = "Returns the amount of experience that the unit currently has",
}
UnitXPMax = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "unit",
      ["desc"] = "The name of the unit to query.",
    },
  },
  ["name"] = "UnitXPMax",
  ["signature"] = "playerMaxXP = UnitXPMax( unit )",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "playerMaxXP",
      ["desc"] = "The total amount of XP required to the next level.",
    },
  },
  ["desc"] = "Return the total amount of XP required to the next level.",
}
UnstablePet = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The pet stable slot.",
    },
  },
  ["name"] = "UnstablePet",
  ["signature"] = "UnstablePet(slot)",
  ["returns"] = {
  },
  ["desc"] = "Unstables the pet in a given stable slot.",
}
UpdateAddOnCPUUsage = {
  ["arguments"] = {
  },
  ["name"] = "UpdateAddOnCPUUsage",
  ["signature"] = "UpdateAddOnCPUUsage",
  ["returns"] = {
  },
  ["desc"] = "Scan through the profiling data and update the per-addon statistics",
}
UpdateAddOnMemoryUsage = {
  ["arguments"] = {
  },
  ["name"] = "UpdateAddOnMemoryUsage",
  ["signature"] = "UpdateAddOnMemoryUsage()",
  ["returns"] = {
  },
  ["desc"] = "Updates the addon memory usage information",
}
UpdateGMTicket = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "type",
      ["desc"] = "Specific GM Ticket Type from the available list",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "Updated GM Ticket text",
    },
  },
  ["name"] = "UpdateGMTicket",
  ["signature"] = "UpdateGMTicket(\"type\", \"text\")",
  ["returns"] = {
  },
  ["desc"] = "Updates the current GM Ticket with the appropriate text",
}
UpdateInventoryAlertStatus = {
  ["arguments"] = {
  },
  ["name"] = "UpdateInventoryAlertStatus",
  ["signature"] = "UpdateInventoryAlertStatus",
  ["returns"] = {
  },
  ["desc"] = "",
}
UpdateMapHighlight = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "x",
      ["desc"] = "The X position of the cursor, as a proportion of WorldMapDetailFrame's width",
    },
    {
      ["type"] = "number",
      ["name"] = "y",
      ["desc"] = "The Y position of the cursor, as a proportion of WorldMapDetailFrame's height",
    },
  },
  ["name"] = "UpdateMapHighlight",
  ["signature"] = "name, fileName, texCoordX, texCoordY, textureX, textureY, scrollChildX, scrollChildY = UpdateMapHighlight(x, y)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the zone being highlighted",
    },
    {
      ["type"] = "string",
      ["name"] = "fileName",
      ["desc"] = "The filename to use for the highlight texture",
    },
    {
      ["type"] = "number",
      ["name"] = "texCoordX",
      ["desc"] = "The right texCoord value for the highlight texture",
    },
    {
      ["type"] = "number",
      ["name"] = "texCoordY",
      ["desc"] = "The bottom texCoord value for the highlight texture",
    },
    {
      ["type"] = "number",
      ["name"] = "textureX",
      ["desc"] = "The width of the texture as a proportion of WorldMapDetailFrame's width",
    },
    {
      ["type"] = "number",
      ["name"] = "textureY",
      ["desc"] = "The height of the texture as a proportion of WorldMapDetailFrame's height",
    },
    {
      ["type"] = "number",
      ["name"] = "scrollChildX",
      ["desc"] = "The X coordinate for the TOPLEFT anchor point of the texture, as a proportion of WorldMapDetailFrame's width",
    },
    {
      ["type"] = "number",
      ["name"] = "scrollChildY",
      ["desc"] = "The X coordinate for the TOPLEFT anchor point of the texture, as a proportion of WorldMapDetailFrame's width",
    },
  },
  ["desc"] = "Returns information about the texture used to highlight subregions of the world map",
}
UpdateSpells = {
  ["arguments"] = {
  },
  ["name"] = "UpdateSpells",
  ["signature"] = "UpdateSpells()",
  ["returns"] = {
  },
  ["desc"] = "Updates the spells in the players spellbook.",
}
UpdateWorldMapArrowFrames = {
  ["arguments"] = {
  },
  ["name"] = "UpdateWorldMapArrowFrames",
  ["signature"] = "UpdateWorldMapArrowFrames()",
  ["returns"] = {
  },
  ["desc"] = "",
}
UseAction = {
  ["arguments"] = {
  },
  ["name"] = "UseAction",
  ["signature"] = "UseAction(slot, [, target] [, button])",
  ["returns"] = {
  },
  ["desc"] = "",
}
UseContainerItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The container that contains the item",
    },
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "The slot that contains the item",
    },
    {
      ["type"] = "string",
      ["optional"] = true,
      ["name"] = "target",
      ["desc"] = "The target that the item should be used on",
    },
  },
  ["name"] = "UseContainerItem",
  ["signature"] = "UseContainerItem(index, slot[, target])",
  ["returns"] = {
  },
  ["desc"] = "Use an item from one of your containers, optionally on a target",
}
UseInventoryItem = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "slot",
      ["desc"] = "An inventory slot id",
    },
  },
  ["name"] = "UseInventoryItem",
  ["signature"] = "UseInventoryItem(slot)",
  ["returns"] = {
  },
  ["desc"] = "Uses an item from the player's inventory",
}
UseItemByName = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of the item to use",
    },
    {
      ["type"] = "unitId",
      ["name"] = "target",
      ["desc"] = "The unit to use as the target of the item, if applicable",
    },
  },
  ["name"] = "UseItemByName",
  ["signature"] = "UseItemByName(\"name\", \"target\")",
  ["returns"] = {
  },
  ["desc"] = "Uses an item, optionally on a specified target",
}
UseSoulstone = {
  ["arguments"] = {
  },
  ["name"] = "UseSoulstone",
  ["signature"] = "UseSoulstone()",
  ["returns"] = {
  },
  ["desc"] = "This function causes you to use a Warlock's Soulstone or a Shaman's Resurrection spell when you die",
}
VoiceChat_ActivatePrimaryCaptureCallback = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_ActivatePrimaryCaptureCallback",
  ["signature"] = "VoiceChat_ActivatePrimaryCaptureCallback",
  ["returns"] = {
  },
  ["desc"] = "",
}
VoiceChat_GetCurrentMicrophoneSignalLevel = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_GetCurrentMicrophoneSignalLevel",
  ["signature"] = "volume = VoiceChat_GetCurrentMicrophoneSignalLevel()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "volume",
      ["desc"] = "The current volume level of the microphone signal",
    },
  },
  ["desc"] = "Returns the current volume level of the microphone signal",
}
VoiceChat_IsPlayingLoopbackSound = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "isPlaying",
      ["desc"] = "1 if the loopback sound is currently being played, otherwise nil",
    },
  },
  ["name"] = "VoiceChat_IsPlayingLoopbackSound",
  ["signature"] = "isPlaying = VoiceChat_IsPlayingLoopbackSound()",
  ["returns"] = {
  },
  ["desc"] = "Returns whether or not the loopsound sound is currently being played",
}
VoiceChat_IsRecordingLoopbackSound = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_IsRecordingLoopbackSound",
  ["signature"] = "isRecording  = VoiceChat_IsRecordingLoopbackSound()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "isRecording",
      ["desc"] = "1 if the player is recording a voice sample, otherwise 0",
    },
  },
  ["desc"] = "Returns whether the player is recording a voice sample",
}
VoiceChat_PlayLoopbackSound = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_PlayLoopbackSound",
  ["signature"] = "VoiceChat_PlayLoopbackSound()",
  ["returns"] = {
  },
  ["desc"] = "Plays a previously recorded looback sound",
}
VoiceChat_RecordLoopbackSound = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "seconds",
      ["desc"] = "The amount of time to record (in seconds)",
    },
  },
  ["name"] = "VoiceChat_RecordLoopbackSound",
  ["signature"] = "VoiceChat_RecordLoopbackSound(seconds)",
  ["returns"] = {
  },
  ["desc"] = "Records a short voice recording for testing purposes.",
}
VoiceChat_StartCapture = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_StartCapture",
  ["signature"] = "VoiceChat_StartCapture",
  ["returns"] = {
  },
  ["desc"] = "",
}
VoiceChat_StopCapture = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_StopCapture",
  ["signature"] = "VoiceChat_StopCapture",
  ["returns"] = {
  },
  ["desc"] = "",
}
VoiceChat_StopPlayingLoopbackSound = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_StopPlayingLoopbackSound",
  ["signature"] = "VoiceChat_StopPlayingLoopbackSound()",
  ["returns"] = {
  },
  ["desc"] = "Stops the current playback of the loopback sound",
}
VoiceChat_StopRecordingLoopbackSound = {
  ["arguments"] = {
  },
  ["name"] = "VoiceChat_StopRecordingLoopbackSound",
  ["signature"] = "VoiceChat_StopRecordingLoopbackSound()",
  ["returns"] = {
  },
  ["desc"] = "Stops the recording of the loopback sounds",
}
VoiceEnumerateCaptureDevices = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "deviceIndex",
      ["desc"] = "The index of the capture device",
    },
  },
  ["name"] = "VoiceEnumerateCaptureDevices",
  ["signature"] = "deviceName = VoiceEnumerateCaptureDevices(deviceIndex)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "deviceName",
      ["desc"] = "The name of the voice capture device",
    },
  },
  ["desc"] = "Returns the name of a voice capture device",
}
VoiceEnumerateOutputDevices = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of an output device",
    },
  },
  ["name"] = "VoiceEnumerateOutputDevices",
  ["signature"] = "device = VoiceEnumerateOutputDevices(index)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "device",
      ["desc"] = "The name of the output device",
    },
  },
  ["desc"] = "Returns the name of a given voice output device",
}
VoiceGetCurrentCaptureDevice = {
  ["arguments"] = {
  },
  ["name"] = "VoiceGetCurrentCaptureDevice",
  ["signature"] = "index = VoiceGetCurrentCaptureDevice()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the current voice capture device",
    },
  },
  ["desc"] = "Returns the index of the current voice capture device",
}
VoiceGetCurrentOutputDevice = {
  ["arguments"] = {
  },
  ["name"] = "VoiceGetCurrentOutputDevice",
  ["signature"] = "VoiceGetCurrentOutputDevice()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "index",
      ["desc"] = "The index of the current voice output device",
    },
  },
  ["desc"] = "Returns the index of the current voice output device",
}
VoiceIsDisabledByClient = {
  ["arguments"] = {
  },
  ["name"] = "VoiceIsDisabledByClient",
  ["signature"] = "isDisabled = VoiceIsDisabledByClient()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "isDisabled",
      ["desc"] = "1 if the voice system is disabled, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the voice chat system is disabled due to hardware reasons",
}
VoicePushToTalkStart = {
  ["arguments"] = {
  },
  ["name"] = "VoicePushToTalkStart",
  ["signature"] = "VoicePushToTalkStart()",
  ["returns"] = {
  },
  ["desc"] = "Used internally to start talking, when push-to-talk is active in voice chat.",
}
VoicePushToTalkStop = {
  ["arguments"] = {
  },
  ["name"] = "VoicePushToTalkStop",
  ["signature"] = "VoicePushToTalkStop()",
  ["returns"] = {
  },
  ["desc"] = "Used internally to stop talking, when push-to-talk is active in voice chat",
}
VoiceSelectCaptureDevice = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "deviceName",
      ["desc"] = "The name of a voice capture device.  This can be obtained using VoiceEnumerateCaptureDevices().",
    },
  },
  ["name"] = "VoiceSelectCaptureDevice",
  ["signature"] = "VoiceSelectCaptureDevice(deviceName)",
  ["returns"] = {
  },
  ["desc"] = "Selects a voice capture device",
}
VoiceSelectOutputDevice = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "deviceName",
      ["desc"] = "The name of the device, as returned from VoiceEnumerateOutputDevices(index)",
    },
  },
  ["name"] = "VoiceSelectOutputDevice",
  ["signature"] = "VoiceSelectOutputDevice(\"deviceName\")",
  ["returns"] = {
  },
  ["desc"] = "Sets the voice chat output device.",
}
WithdrawGuildBankMoney = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "money",
      ["desc"] = "Money to withdraw in coppers",
    },
  },
  ["name"] = "WithdrawGuildBankMoney",
  ["signature"] = "WithdrawGuildBankMoney(money)",
  ["returns"] = {
  },
  ["desc"] = "Attempts to withdraw an amount of money in coppers from the guild bank.  Does nothing on failure.",
}
abs = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The input value",
    },
  },
  ["name"] = "abs",
  ["signature"] = "absoluteValue = abs(value)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "absoluteValue",
      ["desc"] = "The absolute value of the given number",
    },
  },
  ["desc"] = "This function is simply an alias for math.abs.",
}
assert = {
  ["arguments"] = {
  },
  ["name"] = "assert",
  ["signature"] = "assert(condition, message)",
  ["returns"] = {
  },
  ["desc"] = "",
}
ceil = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "value",
      ["desc"] = "The input value",
    },
  },
  ["name"] = "ceil",
  ["signature"] = "ceiling = ceil(value)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "ceiling",
      ["desc"] = "The ceiling of the given number",
    },
  },
  ["desc"] = "This function is simply an alias for math.ceil",
}
collectgarbage = {
  ["arguments"] = {
  },
  ["name"] = "collectgarbage",
  ["signature"] = "collectgarbage",
  ["returns"] = {
  },
  ["desc"] = "",
}
date = {
  ["arguments"] = {
  },
  ["name"] = "date",
  ["signature"] = "date()",
  ["returns"] = {
  },
  ["desc"] = "",
}
debugbreak = {
  ["arguments"] = {
  },
  ["name"] = "debugbreak",
  ["signature"] = "debugbreak",
  ["returns"] = {
  },
  ["desc"] = "",
}
debugdump = {
  ["arguments"] = {
  },
  ["name"] = "debugdump",
  ["signature"] = "debugdump",
  ["returns"] = {
  },
  ["desc"] = "",
}
debuginfo = {
  ["arguments"] = {
  },
  ["name"] = "debuginfo",
  ["signature"] = "debuginfo()",
  ["returns"] = {
  },
  ["desc"] = "",
}
debugload = {
  ["arguments"] = {
  },
  ["name"] = "debugload",
  ["signature"] = "debugload",
  ["returns"] = {
  },
  ["desc"] = "",
}
debugprint = {
  ["arguments"] = {
  },
  ["name"] = "debugprint",
  ["signature"] = "debugprint()",
  ["returns"] = {
  },
  ["desc"] = "",
}
debugprofilestart = {
  ["arguments"] = {
  },
  ["name"] = "debugprofilestart",
  ["signature"] = "debugprofilestart()",
  ["returns"] = {
  },
  ["desc"] = "Starts and resets the high resolution debug timer",
}
debugprofilestop = {
  ["arguments"] = {
  },
  ["name"] = "debugprofilestop",
  ["signature"] = "time = debugprofilestop()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "time",
      ["desc"] = "The current value of the debug profile timer in milliseconds (with sub millisecond precision)",
    },
  },
  ["desc"] = "Returns the value of the running debug profile timer",
}
debugstack = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "start",
      ["desc"] = "The stack level to start the traceback at.  0 is the debugstack() function itself, while 1 is the function that called debugstack.",
    },
    {
      ["type"] = "number",
      ["name"] = "countTop",
      ["desc"] = "The maximum number of functions to output at the top of the stack trace",
    },
    {
      ["type"] = "number",
      ["name"] = "countBot",
      ["desc"] = "The maximum number of functions to output at the bottom of the stack trace,",
    },
  },
  ["name"] = "debugstack",
  ["signature"] = "debugstring = debugstack(start, countTop, countBot)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "debugstring",
      ["desc"] = "The stack traceback as a multi-line string",
    },
  },
  ["desc"] = "Returns information about the current function call stack",
}
debugtimestamp = {
  ["arguments"] = {
  },
  ["name"] = "debugtimestamp",
  ["signature"] = "debugtimestamp",
  ["returns"] = {
  },
  ["desc"] = "",
}
deg = {
  ["arguments"] = {
    {
      ["type"] = "number",
      ["name"] = "radians",
      ["desc"] = "The angle in radians",
    },
  },
  ["name"] = "deg",
  ["signature"] = "degrees = deg(radians)",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "degrees",
      ["desc"] = "The angle in degrees",
    },
  },
  ["desc"] = "This function is simply an alias for math.deg",
}
difftime = {
  ["arguments"] = {
  },
  ["name"] = "difftime",
  ["signature"] = "difftime",
  ["returns"] = {
  },
  ["desc"] = "",
}
error = {
  ["arguments"] = {
  },
  ["name"] = "error",
  ["signature"] = "error",
  ["returns"] = {
  },
  ["desc"] = "",
}
exp = {
  ["name"] = "exp",
  ["signature"] = "result = exp(value)",
  ["desc"] = "This function is simply an alias for math.exp",
}
floor = {
  ["name"] = "floor",
  ["signature"] = "floorValue = floor(value)",
  ["desc"] = "This is simply an alias for math.floor",
}
foreach = {
  ["name"] = "foreach",
  ["signature"] = "foreach(table, func)",
  ["desc"] = "Iterates over a table calling func(index, value) for each entry",
}
foreachi = {
  ["name"] = "foreachi",
  ["signature"] = "foreachi(table, func)",
  ["desc"] = "Iterates over a numerically-indexed table, calling func(index, value) for each entry",
}
format = {
  ["name"] = "format",
  ["signature"] = "formattedString = format(formatString, ...)",
  ["desc"] = "This is simply an alias for string.format",
}
frexp = {
  ["name"] = "frexp",
  ["signature"] = "significand, exponent = frexp(num)",
  ["desc"] = "This function is simply an alias for math.frexp",
}
gcinfo = {
  ["arguments"] = {
  },
  ["name"] = "gcinfo",
  ["signature"] = "count = gcinfo()",
  ["returns"] = {
    {
      ["type"] = "number",
      ["name"] = "count",
      ["desc"] = "Addon Memory usage in kilobytes.",
    },
  },
  ["desc"] = "Returns the total addon memory usage in kilobytes.",
}
geterrorhandler = {
  ["arguments"] = {
  },
  ["name"] = "geterrorhandler",
  ["signature"] = "handler = geterrorhandler()",
  ["returns"] = {
    {
      ["type"] = "function",
      ["name"] = "handler",
      ["desc"] = "The current error handler",
    },
  },
  ["desc"] = "Returns a reference to the current error handler.",
}
getfenv = {
  ["arguments"] = {
  },
  ["name"] = "getfenv",
  ["signature"] = "getfenv",
  ["returns"] = {
  },
  ["desc"] = "",
}
getglobal = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "str",
      ["desc"] = "The name of a global variable to get",
    },
  },
  ["name"] = "getglobal",
  ["signature"] = "var = getglobal(str)",
  ["returns"] = {
    {
      ["type"] = "value",
      ["name"] = "var",
      ["desc"] = "The global variable with the given name",
    },
  },
  ["desc"] = "Returns a global variable with a given name",
}
getmetatable = {
  ["arguments"] = {
  },
  ["name"] = "getmetatable",
  ["signature"] = "getmetatable",
  ["returns"] = {
  },
  ["desc"] = "",
}
getn = {
  ["name"] = "getn",
  ["signature"] = "numElements = getn(table)",
  ["desc"] = "This function is simply an alias for table.getn",
}
gmatch = {
  ["name"] = "gmatch",
  ["signature"] = "iterator = gmatch(string, searchPattern)",
  ["desc"] = "This function is simply an alias for string.gmatch",
}
gsub = {
  ["name"] = "gsub",
  ["signature"] = "newString = gsub(string, searchPattern, replacementPattern [, maxReplacements])",
  ["desc"] = "This function is simply an alias for string.gsub",
}
hooksecurefunc = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["optional"] = true,
      ["name"] = "table",
      ["desc"] = "A table object that contains the function to be hooked",
    },
    {
      ["type"] = "string",
      ["name"] = "function",
      ["desc"] = "The name of the function to be hooked",
    },
    {
      ["type"] = "function",
      ["name"] = "hookfunc",
      ["desc"] = "The function to be called each time the original function is called",
    },
  },
  ["name"] = "hooksecurefunc",
  ["signature"] = "hooksecurefunc([table,] \"function\", hookfunc)",
  ["returns"] = {
  },
  ["desc"] = "Add a function to be called after the original secure function.",
}
ipairs = {
  ["arguments"] = {
  },
  ["name"] = "ipairs",
  ["signature"] = "ipairs(UnitPopupMenus[dropdownMenu.which])",
  ["returns"] = {
  },
  ["desc"] = "",
}
issecure = {
  ["arguments"] = {
  },
  ["name"] = "issecure",
  ["signature"] = "secure = issecure()",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "secure",
      ["desc"] = "1 if the current execution path is secure, otherwise nil",
    },
  },
  ["desc"] = "Returns whether or not the current execution path is secure",
}
issecurevariable = {
  ["arguments"] = {
    {
      ["type"] = "table",
      ["optional"] = true,
      ["name"] = "table",
      ["desc"] = "A table to be used when checking table elements",
    },
    {
      ["type"] = "string",
      ["name"] = "variable",
      ["desc"] = "The name of a variable to check.  In order to check the status of a table element, you should specify the table, and then the key of the element",
    },
  },
  ["name"] = "issecurevariable",
  ["signature"] = "issecure, taint = issecurevariable([table,] \"variable\")",
  ["returns"] = {
    {
      ["type"] = "1nil",
      ["name"] = "issecure",
      ["desc"] = "1 if the variable is secure, otherwise nil",
    },
    {
      ["type"] = "string",
      ["note"] = "This is only returned if the variable is not secure",
      ["name"] = "taint",
      ["desc"] = "The name of the addon that tainted the variable",
    },
  },
  ["desc"] = "Returns whether or not a variable is secure and if not, what addon tainted the variable",
}
ldexp = {
  ["name"] = "ldexp",
  ["signature"] = "number = ldexp(significand, exponent)",
  ["desc"] = "This function is simply an alias for math.ldexp",
}
loadstring = {
  ["arguments"] = {
  },
  ["name"] = "loadstring",
  ["signature"] = "loadstring",
  ["returns"] = {
  },
  ["desc"] = "",
}
log = {
  ["name"] = "log",
  ["signature"] = "naturalLog = log(number)",
  ["desc"] = "This function is simply an alias for math.log",
}
log10 = {
  ["name"] = "log10",
  ["signature"] = "base10log = log10(number)",
  ["desc"] = "This function is simply an alias for math.log10",
}
max = {
  ["name"] = "max",
  ["signature"] = "maximum = max(number, ...)",
  ["desc"] = "This function is simply an alias for math.max",
}
min = {
  ["name"] = "min",
  ["signature"] = "minimum = min(number, ...)",
  ["desc"] = "This function is simply an alias for math.min",
}
mod = {
  ["name"] = "mod",
  ["signature"] = "remainder = mod(dividend, divisor)",
  ["desc"] = "This function is simply an alias for math.fmod",
}
newproxy = {
  ["arguments"] = {
  },
  ["name"] = "newproxy",
  ["signature"] = "newproxy",
  ["returns"] = {
  },
  ["desc"] = "",
}
next = {
  ["arguments"] = {
  },
  ["name"] = "next",
  ["signature"] = "next(newBindings)",
  ["returns"] = {
  },
  ["desc"] = "",
}
pairs = {
  ["arguments"] = {
  },
  ["name"] = "pairs",
  ["signature"] = "pairs(DOCK_COPY)",
  ["returns"] = {
  },
  ["desc"] = "",
}
pcall = {
  ["arguments"] = {
  },
  ["name"] = "pcall",
  ["signature"] = "pcall",
  ["returns"] = {
  },
  ["desc"] = "",
}
rad = {
  ["name"] = "rad",
  ["signature"] = "radians = rad(degrees)",
  ["desc"] = "This function is simply an alias for math.rad",
}
random = {
  ["name"] = "random",
  ["signature"] = "randomNum = random([lowerLimit,] [upperLimit])",
  ["desc"] = "This function is simply an alias for math.random",
}
randomseed = {
  ["name"] = "randomseed",
  ["signature"] = "randomseed(seed)",
  ["desc"] = "This function is simply an alias for math.randomseed",
}
rawequal = {
  ["arguments"] = {
  },
  ["name"] = "rawequal",
  ["signature"] = "rawequal",
  ["returns"] = {
  },
  ["desc"] = "",
}
rawget = {
  ["arguments"] = {
  },
  ["name"] = "rawget",
  ["signature"] = "func = rawget(self, type)",
  ["returns"] = {
  },
  ["desc"] = "",
}
rawset = {
  ["arguments"] = {
  },
  ["name"] = "rawset",
  ["signature"] = "rawset",
  ["returns"] = {
  },
  ["desc"] = "",
}
securecall = {
  ["arguments"] = {
  },
  ["name"] = "securecall",
  ["signature"] = "securecall()",
  ["returns"] = {
  },
  ["desc"] = "",
}
select = {
  ["arguments"] = {
  },
  ["name"] = "select",
  ["signature"] = "if ( UIDropDownMenu_GetSelectedValue(OptionsFrameRefreshDropDown) and tonumber(UIDropDownMenu_GetSelectedValue(OptionsFrameRefreshDropDown))  = select(3, SecureCmdItemParse(action))",
  ["returns"] = {
  },
  ["desc"] = "",
}
seterrorhandler = {
  ["arguments"] = {
    {
      ["type"] = "function",
      ["name"] = "errHandler",
      ["desc"] = "The function to use as the error handler",
    },
  },
  ["name"] = "seterrorhandler",
  ["signature"] = "seterrorhandler(errHandler)",
  ["returns"] = {
  },
  ["desc"] = "Sets the default error handler to a specific function",
}
setfenv = {
  ["arguments"] = {
  },
  ["name"] = "setfenv",
  ["signature"] = "setfenv",
  ["returns"] = {
  },
  ["desc"] = "",
}
setglobal = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "name",
      ["desc"] = "The name of a global variable",
    },
    {
      ["type"] = "value",
      ["name"] = "value",
      ["desc"] = "The value to set in the given variable",
    },
  },
  ["name"] = "setglobal",
  ["signature"] = "setglobal(name, value)",
  ["returns"] = {
  },
  ["desc"] = "Sets a global variable to a specified value",
}
setmetatable = {
  ["arguments"] = {
  },
  ["name"] = "setmetatable",
  ["signature"] = "setmetatable",
  ["returns"] = {
  },
  ["desc"] = "",
}
sort = {
  ["name"] = "sort",
  ["signature"] = "sort(table [, compareFunc])",
  ["desc"] = "This function is simply an alias for table.sort",
}
sqrt = {
  ["name"] = "sqrt",
  ["signature"] = "root = sqrt(number)",
  ["desc"] = "This function is simply an alias for math.sqrt",
}
strbyte = {
  ["name"] = "strbyte",
  ["signature"] = "number = strbyte(character)",
  ["desc"] = "This function is simply an alias for string.byte",
}
strchar = {
  ["name"] = "strchar",
  ["signature"] = "character = strchar(number)",
  ["desc"] = "This function is simply an alias for string.char",
}
strconcat = {
  ["arguments"] = {
  },
  ["name"] = "strconcat",
  ["signature"] = "strconcat",
  ["returns"] = {
  },
  ["desc"] = "",
}
strfind = {
  ["name"] = "strfind",
  ["signature"] = "start, end = strfind(string, searchPattern [, startingIndex [, plainText]])",
  ["desc"] = "This function is simply an alias for string.find",
}
strjoin = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "sep",
      ["desc"] = "The string to join between each two elements",
    },
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of strings to be joined together",
    },
  },
  ["name"] = "strjoin",
  ["signature"] = "text = strjoin(sep, ...)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The list of strings joined together with the given seperator string",
    },
  },
  ["desc"] = "Joins a list of strings together",
}
strlen = {
  ["name"] = "strlen",
  ["signature"] = "length = strlen(string)",
  ["desc"] = "This function is simply an alias for string.len",
}
strlower = {
  ["name"] = "strlower",
  ["signature"] = "lowerCase = strlower(string)",
  ["desc"] = "This function is simply an alias for string.lower",
}
strmatch = {
  ["name"] = "strmatch",
  ["signature"] = "firstMatch = strmatch(string, searchPattern [, startingIndex])",
  ["desc"] = "This function is simply an alias for string.match",
}
strrep = {
  ["name"] = "strrep",
  ["signature"] = "repeated = strrep(string, repetitions)",
  ["desc"] = "This function is simply an alias for string.rep",
}
strrev = {
  ["name"] = "strrev",
  ["signature"] = "reverse = strrev(string)",
  ["desc"] = "This function is simply an alias for string.reverse",
}
strsplit = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "sep",
      ["desc"] = "The seperator string to use",
    },
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The text to split",
    },
    {
      ["type"] = "number",
      ["name"] = "limit",
      ["desc"] = "The maximum number of pieces to split the string into",
    },
  },
  ["name"] = "strsplit",
  ["signature"] = "... = strsplit(sep, text, limit)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "...",
      ["desc"] = "A list of strings, split from the text based on the seperator string",
    },
  },
  ["desc"] = "Splits a string based on another seperator string",
}
strsub = {
  ["name"] = "strsub",
  ["signature"] = "subString = strsub(string, start, end)",
  ["desc"] = "This function is simply an alias for string.sub",
}
strtrim = {
  ["arguments"] = {
    {
      ["type"] = "string",
      ["name"] = "str",
      ["desc"] = "The string to trim",
    },
  },
  ["name"] = "strtrim",
  ["signature"] = "text = strtrim(str)",
  ["returns"] = {
    {
      ["type"] = "string",
      ["name"] = "text",
      ["desc"] = "The string wth any training or leading whitespace removed",
    },
  },
  ["desc"] = "Trims leading and trailing whitespace from a string",
}
strupper = {
  ["name"] = "strupper",
  ["signature"] = "upperCase = strupper(string)",
  ["desc"] = "This function is simply an alias for string.upper",
}
time = {
  ["arguments"] = {
  },
  ["name"] = "time",
  ["signature"] = "time()",
  ["returns"] = {
  },
  ["desc"] = "",
}
tinsert = {
  ["name"] = "tinsert",
  ["signature"] = "tinsert(table, [position,] value)",
  ["desc"] = "This function is simply an alias for table.insert",
}
tonumber = {
  ["arguments"] = {
  },
  ["name"] = "tonumber",
  ["signature"] = "height = tonumber(page)",
  ["returns"] = {
  },
  ["desc"] = "",
}
tostring = {
  ["arguments"] = {
  },
  ["name"] = "tostring",
  ["signature"] = "state = tostring(bindings)",
  ["returns"] = {
  },
  ["desc"] = "",
}
tremove = {
  ["name"] = "tremove",
  ["signature"] = "value = tremove(table [, position])",
  ["desc"] = "This function is simply an alias for table.remove",
}
type = {
  ["arguments"] = {
  },
  ["name"] = "type",
  ["signature"] = "type(value)",
  ["returns"] = {
  },
  ["desc"] = "",
}
unpack = {
  ["arguments"] = {
  },
  ["name"] = "unpack",
  ["signature"] = "unpack(point)",
  ["returns"] = {
  },
  ["desc"] = "",
}
xpcall = {
  ["arguments"] = {
  },
  ["name"] = "xpcall",
  ["signature"] = "xpcall",
  ["returns"] = {
  },
  ["desc"] = "",
}
